Подтвердить что ты не робот

Размещение HTML script?

Время от времени я слышу о размещении тегов HTML <script> позже в документе HTML, а не в элементе <head>.

Некоторые люди, или я слышал, даже рекомендую разместить один скрипт как последние несколько тегов перед </body>.

Это связано с проблемой производительности? Возможно, загрузка script является блокирующей операцией ввода-вывода, учитывая, что script -зависимые скрипты размещаются после других сценариев:

<script src="jQuery.js"></script>
<script src="myScriptThatUsesjQuery.js"></script>

Даже если это так, почему нужно было разместить один скрипт в конце документа HTML?

Спасибо!

4b9b3361

Ответ 1

Когда в <body> появляются теги <script>, он приостанавливает разбор документа до его загрузки (если применимо) и выполняется. Это так, что старые скрипты, которые используют document.write, могут выполнять свою задачу.

Размещение тегов <script> последнего в теле удерживает их от необходимости.

Ответ 2

Ну, <script> должен быть включен до </body>, и, как вы говорите, <script src="jQuery.js"></script> должен быть включен перед <script src="myScriptThatUsesjQuery.js"></script>, поскольку jQuery.js загружает все функции, которые используются myScriptThatUsesjQuery.js, поэтому вы не можете использовать функцию (например, $()) до ее объявления.

Ответ 3

Наличие большого количества файлов script в вашем заголовке замедляет производительность сайта, поскольку спецификация HTTP рекомендует браузерам не загружать более двух файлов с любого хоста параллельно. Поэтому, если у вас есть полдюжины или около того .js файлы, загружаемые из вашей папки script, загрузка других ресурсов на вашем сайте (images/css и т.д.) Будет заблокирована, пока браузер перейдет через список 2x2, В основном это создает узкое место.

Я думаю, что у некоторых современных браузеров есть обходные пути для этой проблемы, но пока мир не откажется от IE6/7, вероятно, лучше ошибиться в сторону оптимизации.