![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
MrDmitry |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
Здраствуйте. Столкнулся с такой задачей.
Формирую html код
В php файле формирую html и css(только не спрашивайте зачем ![]()
Ну и в js пытаюсь вставить такой обьект на страницу.
По итогу получаю что обьект вставляется на страницу, но стили из формированого css не отоброжается. (Тоесть визуально обьект на страницу не отоброжается. Хотя если после этого добавить такой обьект в html страницу "Ручками"
то стили из файла style.css применяются. Это сообщение отредактировал(а) MrDmitry - 8.4.2013, 01:22 |
||||||||
|
|||||||||
Arantir |
|
|||
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 14 Всего: 55 |
Только не говорите, что запись в style.css производится между завершением загрузки страницы и добавлением элемента #test...
-------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
MrDmitry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
Не совсем понял вопроса. Что значит между завершением загрузки страницы? Да, страница уже загружена и добавление происходит по нажатию кнопочки. Теоретически я конечно догадываюсь почему не работает, но надеюсь что решение можно найти или тут мне подскажут иной путь решения задачи ))
Это сообщение отредактировал(а) MrDmitry - 8.4.2013, 03:57 |
|||
|
||||
MrDmitry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
Есть у кого нибуть какие нибуть мысли?
|
|||
|
||||
Arantir |
|
|||
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 14 Всего: 55 |
Там еще вторая половина предложения есть после "и"... И именно это оно и значит.
Вы с помощью PHP добавляете CSS в файл, находящийся на удаленном сервере и хотите, чтобы при этом браузер моментально изменил стиль у пользователя? Это же глупость. Но ничего другого из ваших объяснений понять не удалось. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
MrDmitry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 556 Регистрация: 10.11.2006 Репутация: нет Всего: нет |
я это понимаю
Нууууу, именно это я и хочу, менять стиль у пользователя на лету. А какие варианты есть еще? Учитывая что сам css стиль формируется в php, передавать его в массив jq, и применять к обьеку через addClass? Это сообщение отредактировал(а) MrDmitry - 8.4.2013, 20:24 |
|||
|
||||
Sanchezzz |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 3 Всего: 60 |
:yes либо Создать
и
должно сработать но не проверял. Это сообщение отредактировал(а) Sanchezzz - 8.4.2013, 22:02 -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
||||
|
|||||
Arantir |
|
||||
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 14 Всего: 55 |
Суть работы протокола HTTP знаете? Запрос — ответ. Изменение файла на сервере никаким образом не сказывается на уже загруженной странице. Минимум — файл будет просто перезагружен при обновлении страницы. Но, в зависимости от настроек кеша, он еще неделю может старым у пользователя оставаться.
Чтобы файл обновился, этому должен предшествовать запрос. Вы должны явным образом заставить браузер загрузить содержимое этого файла. Для этого можно воспользоваться способом, аналогичным добавлению/изменению картинок средствами JS. При добавлении картинки браузер автоматически ее загрузить (чтобы показать на странице, конечно же). Так вот, для тега link действует такой же принцип.
Второй из способов следует тому же принципу, это добавление тега style. При добавлении style через JS браузер так же попытается применить все стили внутри него, ибо это есть единственная суть сия тега.
Кстати, есть одна полезная особенность — любые скрипты в любом случае загружаются уже после тега head в DOM (так как они всегда либо в нем, либо ниже него). Так что для добавления нового стиля на страницу даже не обязательно ждать загрузки страницы (события load), можно вписать добавление первой же строкой первого скрипта и это будет работать. Так что, если стиль должен быть применен сразу, то эта особенность может помочь избежать эффекта блика, когда стиль резко меняется где-то между началом загрузки страницы и догрузкой DOM, css и js. Добавлено через 2 минуты и 20 секунд Sanchezzz, долго писал =) Это сообщение отредактировал(а) Arantir - 8.4.2013, 22:30 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||
|
|||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 3 Всего: 60 |
Arantir, Зато развернутый ответ как статья + еще один способ о котором я не вспомнил.
Можно попробывать еще аттребут сменить у линка с гет параметром в виде времени тоже может сработать. -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |