Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2015, 02:04
Кандидат Javascript-наук
Отправить личное сообщение для FanAizu Посмотреть профиль Найти все сообщения от FanAizu
 
Регистрация: 08.03.2011
Сообщений: 148

Подгрузка стилей с использованием iframe
Стоит следующая задача: при выборе темы оформления сайта в селекте, нужно менять значение href у тега link с используемой таблицей стилей на сайте. Проблема в том, что меняя значение href у link, сайт отображается без стилей, пока не загрузятся новые. Поэтому нужно каким-то образом отслеживать загрузку стилей нововыбранной темы и только после этого менять значение href у линк, тогда, теоретически, смена оформления сайта произойдет без мерцания, то есть мгновенно. Но нету возможности отследить, когда загрузятся стили в теге link. Поэтому нашел выход - грузить стили новой темы в iframe-е т.к. у window внутри iframe-а есть событие load, которое дожидается загрузки всех ресурсов, в том числе и таблиц стилей. Но хотелось бы уточнить у знающих людей пару моментов:
1) будут ли стили, подгруженные в iframe-е, кэшироваться браузером?
2) с событием onload у window в iframe нету никаких проблем? Просто гуглил про iframe и у людей постоянно с этим вопросы на stackoverflow.
3) при условии, что стили в iframe-е кэшируются браузером, предположим, что на сайте сейчас стоит тема theme1.css, а в iframe-е я подгрузил нововыбранную тему пользователем theme2.css, не будет ли все равно на мгновение сайт отображаться без стилей вообще, в момент, когда я после срабатывания в iframe-е у window события onload, изменю значение href у тега link на theme2.css и до тех пор, пока браузер не возьмет стили theme2.css из кэша? Естественно я это протестирую, но во всех браузерах не протестишь, поэтому хотелось бы получить экспертное мнение. Спасибо большое.
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2015, 04:58
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Тут обсуждалось. Предлагался крутой вариант с "альтернативными" стилями. Причем во всех браузерах кроме хрома тему можно выбрать прямо из меню браузера. Правда есть минус - браузер грузит все css-файлы сразу же. Зато переключение моментальное
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2015, 04:59
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от FanAizu
нету возможности отследить
Разве? А в каком браузере не работает onload на link'е?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2015, 05:08
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от danik.js
А в каком браузере не работает
Походу в хроме, и в некоторых старых версиях файрфокса. Тут обсуждается проблема с onload:
http://stackoverflow.com/questions/3...element-onload
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подгрузка стилей и скриптов Хэйка Общие вопросы Javascript 4 11.06.2014 05:21
fancybox iframe подгрузка скриптов Pashok jQuery 2 29.01.2014 01:32
JS select подгрузка iframe dgalexei Общие вопросы Javascript 6 12.05.2013 02:07
подгрузка стилей bot87 Общие вопросы Javascript 4 06.11.2012 22:17
Вложенные IFrame и History goldserg Элементы интерфейса 1 28.03.2011 15:57