Расположение скриптов в конце страницы

В статье "Put Scripts at the Bottom" автор рекомендует размещать скрипты в конце страницы, что влияет на скорость загрузки страниц.

Проблема, возникающая из-за скриптов, состоит в том, что они блокируют параллельные загрузки. Согласно спецификациям HTTP/1.1 браузеры не должны загружать параллельно больше двух компонентов  на один хост. Если же Вы загружаете рисунки с нескольких хостов, то Вы можете совершать больше двух загрузок параллельно. Однако, во время загрузки скрипта, браузер не будет запускать другие загрузки, даже на разных хостах.

Но в некоторых ситуациях не просто расположить скрипт в конце страницы. Если, например, скрипт использует метод document.write для вставки части контента на страницу, то этот скрипт не может быть перемещен ниже по странице. Также имеют место быть проблемы с областью видимости. Но во многих случаях, есть способы обхода таких ситуаций.

Альтернативным вариантом является использование отложенных скриптов. Атрибут DEFER указывает на то, что скрипт не содержит document.write, и является ориентиром для браузеров для продолжения отрисовки. К сожалению, браузер Firefox не поддерживает атрибут DEFER В Internet Explorer, загрузка скрипта может быть отложена, но не на столько, насколько бы хотелось. Если скрипт может быть отложен, то он может быть перемещён в конец страницы. Это поможет вашим страницам загружаться быстрее.

 

Оригинал статьи на developer.yahoo.com

Перевод КОМТЕТ komtet.ru