Расположение скриптов в конце страницы
Проблема, возникающая из-за скриптов, состоит в том, что они блокируют параллельные загрузки. Согласно спецификациям HTTP/1.1 браузеры не должны загружать параллельно больше двух компонентов на один хост. Если же Вы загружаете рисунки с нескольких хостов, то Вы можете совершать больше двух загрузок параллельно. Однако, во время загрузки скрипта, браузер не будет запускать другие загрузки, даже на разных хостах.
Но в некоторых ситуациях не просто расположить скрипт в конце страницы. Если, например, скрипт использует метод document.write
для вставки части контента на страницу, то этот скрипт не может быть перемещен ниже по странице. Также имеют место быть проблемы с областью видимости. Но во многих случаях, есть способы обхода таких ситуаций.
Альтернативным вариантом является использование отложенных скриптов. Атрибут DEFER
указывает на то, что скрипт не содержит document.write, и является ориентиром для браузеров для продолжения отрисовки. К сожалению, браузер Firefox не поддерживает атрибут DEFER
В Internet Explorer, загрузка скрипта может быть отложена, но не на столько, насколько бы хотелось. Если скрипт может быть отложен, то он может быть перемещён в конец страницы. Это поможет вашим страницам загружаться быстрее.
Оригинал статьи на developer.yahoo.com
Перевод КОМТЕТ komtet.ru