Неблокирующая загрузка JavaScript
Внешние JavaScript‑файлы блокируют загрузку страницы и сильно влияют на ее производительность, но существует достаточно простой выход из этой ситуации: использовать динамические теги <script> и загружать скрипты параллельно, увеличивая тем самым скорость загрузки страницы и улучшая пользовательское восприятие.
Давайте сначала рассмотрим, в чем заключается проблема с загрузкой скриптов. Все сводится к тому, что браузер не может сказать, что находится внутри скрипта, не загрузив его полностью. Скрипт может содержать вызовы document.write(), которые изменяют DOM‑дерево, или вообще location.href, что отправит пользователя на другую страницу. В последнем случае все компоненты, загруженные на предыдущей странице, могут оказаться ненужными. Чтобы предотвратить загрузки, которые могут оказаться лишними, браузеры сначала загружают, затем анализируют и исполняют каждый скрипт перед тем, как переходить к следующему файлу в очереди на загрузку. В результате каждый вызов скрипта на вашей странице блокирует процесс загрузки и оказывает негативное влияние на скорость загрузки.
Ниже приведена временная диаграмма, которая демонстрирует процесс загрузки медленных JavaScript‑файлов. Загрузка скриптов блокирует параллельную загрузку фоновых картинок, которые идут сразу за ним:
Рис. 7.1 .Временнáя диаграмма: блокирующее поведение JavaScript‑файлов
Дата добавления: 2015-05-19; просмотров: 597;