Этап 3: Жизнь после загрузки страницы
Этап 3: Жизнь после загрузки страницы
Целью данного этапа является создание различных обработчиков событий, которые должны взаимодействовать с пользователем. Это могут быть и всплывающие подсказки, и подгрузка данных с сервера, и просто анимация. Все это можно назвать «оживлением» страницы.
Говорят, что иногда «грамм видимости важнее килограмма сути» — это как раз про JavaScript. Ведь именно на нем можно реализовать механизмы, упрощающие действия пользователя; можно сделать много различных визуальных эффектов, подчеркивающих оформление, удобство и полезность сайта (а фактически — усилить и сфокусировать всю работу, которую проделали разработчики на предыдущих этапах).
К этому моменту мы должны иметь оформленную HTML-страницу, на которой все ссылки и формы обязаны работать без JavaScript (как этого добиться, как отделить представление страницы от ее функционирования, рассказывается в седьмой главе в разделе про «ненавязчивый» JavaScript).
У нас должны быть готовы серверные интерфейсы для AJAX-запросов; структура страницы должна быть такой, чтобы для аналогичных кусков HTML-кода не приходилось реализовывать аналогичные, но не одинаковые куски JavaScript-кода. Скорее всего, должны быть созданы шаблоны страниц, где видно, как будет выглядеть страница после какого-то действия пользователя (обычно специалист по удобству использования создает макеты).
Чтобы не уменьшать скорость доставки контента и оформления, JavaScript-файлы (лучше всего, конечно, один JavaScript-файл; несколько файлов должны использоваться только при большой сложности клиентского интерфейса) должны быть подключены перед закрытием тега body (а в идеале — вынесены именно в пост-загрузку).
Задача по обеспечению взаимодействия пользователя с интерфейсом сайта сводится к выполнению следующих действий:
найти DOM-элементы, требующие «оживления» (далее — компоненты);
определить, что это за компонент;
обеспечить подключение необходимого кода JavaScipt;
следить за очередностью подключения файлов;
не позволять нескольких загрузок одного файла.
Все это напрямую следует из концепции «ненавязчивого» JavaScript, которая описана в седьмой главе.
Поиск необходимых DOM-элементов должен нам дать список названий JavaScript-компонентов. Названия компонентов должны однозначно соответствовать названиям файлов на сервере, в которых содержится код для них. Также нам может понадобиться загрузить некоторые дополнительные CSS-правила для найденных компонентов (в случае небольшого количества CSS-кода разумно будет включить его в основной файл) ради каких-то визуальных эффектов, которые можно пропустить на первом этапе загрузки. Например, все эффекты по смене изображения при наведении мыши обеспечиваются через CSS-правила и технику CSS Sprites.
Список названий компонент можно объединить в один запрос к серверу. В итоге на стадии пост-загрузки должны осуществляться запросы к файлам вида static.site.net/jas/componentName1.css;componentName2.css и static.site.net/jas/componentName1.js;componentName2.js.
У данного подхода есть два недостатка:
В папке /jas/ (которую мы, например, используем для кэширования наиболее частых вариантов подключения модулей) через некоторое время может оказаться очень много файлов, что теоретически может уменьшить время доступа к ним на сервере.
Иногда на странице может оказаться очень много компонент, причем так много, что длина имени запрашиваемого объединенного файла перевалит за возможности файловой системы (например, 255 символов у Ext3) — в этом случае потребуется разбить один запрос на несколько последовательных.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
1.3. Стадии загрузки страницы
1.3. Стадии загрузки страницы Рис.1.2. Стадии загрузки страницыВ качестве основных проблемных мест при загрузке страницы любого веб-ресурса можно выделить четыре ключевых момента. Предзагрузка — появление страницы в браузере пользователя. После некоторого времени
Есть ли жизнь после сжатия?
Есть ли жизнь после сжатия? Хочется отметить, что при минимизации JavaScript-файлов нужно следить за тем, чтобы функционал не уменьшился вследствие этой самой минимизации. Для проверки JS-файлов на работоспособность и общую адекватность существует проект JSLint ( http://jslint.com/ ),
(8.15) Пропал файл подкачки, W2k при загрузке каждый раз создаёт временный на 20 мегабайт. Выставление файла вручную не помогает, после загрузки его опять нет.
(8.15) Пропал файл подкачки, W2k при загрузке каждый раз создаёт временный на 20 мегабайт. Выставление файла вручную не помогает, после загрузки его опять нет. Это может произойти при повреждении системных файлов. Причина этого может быть разной, от не вовремя пропавшего
2.17.После изменения прав доступа к файлам (security permissions) на NTFS хочется вернуть все к тому виду, как было после установки. Возможно ли это?
2.17.После изменения прав доступа к файлам (security permissions) на NTFS хочется вернуть все к тому виду, как было после установки. Возможно ли это? Да, это возможно. Более того, это просто необходимо, если вы поставили XP на FAT или FAT32, а затем cконвертировали файловую систему в NTFS. Для
Уход с сайта после просмотра одной страницы
Уход с сайта после просмотра одной страницы Предыдущий опыт пребывания на сайте нельзя недооценивать. По данным службы StatMarket – подразделения компании WebSideStory:– для того чтобы попасть на сайт, 74 % посетителей вводят URL в адресную строку браузера или пользуются
Жизнь после Photoshop
Жизнь после Photoshop Мы считаем необходимым сказать несколько слов о том, как можно использовать графические файлы после их обработки в Photoshop (хотя это и выходит за рамки темы книги).Фон Рабочего столаФотография семьи (ребенка, родителей) на рабочем месте всегда считалась
15. Заключение: жизнь после революции
15. Заключение: жизнь после революции Что мир программного обеспечения будет напоминать, когда переход к открытым текстам закончится?Для того, чтобы исследовать этот вопрос, будет полезно разделить виды программного обеспечения в зависимости от той степени, в которой
письмоносец: Жизнь до и после
письмоносец: Жизнь до и после Автор: Илья Щуров VoyagerЗдраствуйте, хочу поделиться своими мыслями по теме "[За]облачные вычисления".Первая тенденция: существует большое количество операционных систем, размещенных на сменных носителях.Вторая тенденция: размещение в
ТЕМА НОМЕРА: Жизнь после серости
ТЕМА НОМЕРА: Жизнь после серости Автор: Леонид Левкович-МаслюкНекоммерческая ассоциация «Российский дом международного научно-технического сотрудничества» была учреждена Миннауки, РАН, Госимуществом и Российским фондом фундаментальных исследований в 1993 году. В нее
OCZ: жизнь после того, как умерла последняя надежда, или Школа кидания по понятиям Сергей Голубицкий
OCZ: жизнь после того, как умерла последняя надежда, или Школа кидания по понятиям Сергей Голубицкий Опубликовано 07 марта 2014 29 ноября 2013 года мой коллега Андрей Васильков рассказал читателям о печальном положении, в котором оказалась компания OCZ
Школьный Linux: жизнь после тендера Крестников Евгений
Школьный Linux: жизнь после тендера Крестников Евгений Опубликовано 10 июня 2010 года Согласно утвержденному президентом Плану реализации Стратегии развития информационного общества в Российской Федерации, к концу 2010 года 25% общеобразовательных
Жизнь после Tor’а: неизбежность пришествия систем кибернаблюдения и возможные последствия для бизнеса Михаил Ваннах
Жизнь после Tor’а: неизбежность пришествия систем кибернаблюдения и возможные последствия для бизнеса Михаил Ваннах Опубликовано 19 августа 2013 В конце прошлой недели интересную вещь сообщила российская пресса – «ФСБ готовит закон против
Лучшая жизнь в трехмерном онлайне: Жизнь в метаверсе как часть «просто жизни»
Лучшая жизнь в трехмерном онлайне: Жизнь в метаверсе как часть «просто жизни» Автор: Анатолий ЛевенчукЯ не буду даже обсуждать многопользовательские онлайн-игры — где есть понятие квеста, где есть геймплей. Я буду обсуждать метаверсы — многопользовательские
Жизнь после Heartbleed: как обезопасить себя в интернете Андрей Васильков
Жизнь после Heartbleed: как обезопасить себя в интернете Андрей Васильков Опубликовано 11 апреля 2014 Критическая ошибка в криптографическом пакете OpenSSL стала одной из самых серьёзных угроз безопасности за всю историю интернета. На протяжении двух лет
Жизнь после смерти
Жизнь после смерти Автор: Ольга ТопроверМы уже писали о том, что с нового года перестала выходить печатная версия американского PC Magazine ("КТ" #761), причем в отличие от многих изданий, которые в последние месяцы прекратили свое существование или, как PC Magazine, перешли на