На практике. На практике все оказалось не сильно сложнее

 

 

На практике все оказалось не сильно сложнее. Мы загружаем в head страницы (до вызовов любых внешних файлов) наш «легкий» CSS:

 

<link href="light‑light.css" rel="stylesheet" type="text/css" media="all"/>

 

а затем добавляем в комбинированный обработчик window.onload (подробнее о нем рассказывается в седьмой главе) создание нового файла стилей, который дополняет уже загрузившуюся страницу фоновыми изображениями:

 

function combinedWindowOnload() {

load_dynamic_css("background‑images.css");

...

}

 

В результате мы имеем максимально быстрое отображение страницы, а затем стадию пост‑загрузки, которая вытянет с сервера все дополнительные картинки (тут уже сам браузер постарается), стилевые правила и скрипты.

А доступность?

 

 

Внимательные читатели уже заготовили вопрос: а что, если у пользователя отключен JavaScript? Тут всё должно быть просто: мы добавляем соответствующий <noscript> для поддержки таких пользователей. С маленьким нюансом: <noscript> не может находиться в <head>, а <link> не может находиться в <body>. Если мы соблюдаем стандарты (все же иногда лучше довериться профессионалам и не ставить браузеры в неудобное положение, когда они встретятся с очередным отклонением от спецификации), то стоит искать обходные пути.

После небольших экспериментов было выделено следующее изящное решение, обеспечивающее работу схемы во всех браузерах (замечание: после многочисленных экспериментов было решено остановиться на HTML‑комментариях – они оказались наилучшим способом запретить загрузку указанного CSS‑файла):

 

<script type="text/javascript">

/* если мы сможем создать динамический файл стилей */

if (document.getElementsByTagName) {

/* то добавляем в загрузку облегченную версию */

document.write('\x3clink href="light‑light.css"

rel="stylesheet" type="text/css" media="all"/>');

/* после этого начинаем HTML‑комментарий */

document.write('\x3c‑‑');

}

</script>

<link href="full.css" rel="stylesheet" type="text/css" media="all"/>

<!‑‑[if IE]><![endif]‑‑>

 

В результате браузер с включенным JavaScript запишет начало комментария, а закроет его только после <link> (комментарии не могут быть вложенными). При выключенном JavaScript <script> не отработает, <link> обработается и добавится в очередь загрузки, а последний комментарий будет просто комментарием.








Дата добавления: 2015-05-19; просмотров: 784;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.