Показать сообщение отдельно
  #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 из кэша? Естественно я это протестирую, но во всех браузерах не протестишь, поэтому хотелось бы получить экспертное мнение. Спасибо большое.
Ответить с цитированием