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

Где я могу поместить тег jQuery script?

Во всей документации я вижу тег jQuery script ниже <title> в голове, но затем, когда я перехожу на некоторые другие сайты (initializr является первым с моей головы), они бросают его в нижнюю часть тела (вы знаете, прямо перед </body>).

Какой из этих двух прав?

4b9b3361

Ответ 1

Цитирование YDN Лучшие рекомендации для ускорения вашего веб-сайта:

Поместите скрипты в нижней части

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

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

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

Забавно, что люди говорили, что Мне нужно ударить головой, чтобы сделать это, когда Я сказал, что в 2009 году, и теперь это неожиданно лучшая практика... Некоторый прогресс.

Ответ 2

Ну, я думаю, вам нужно поместить это внутри $(document).ready(function() {, чтобы документ был действительно готов, прежде чем вы вызываете jQuery. Лично я также поставил перед </body>. Теперь, учитывая, что обе работы, есть ли "правильный" способ, или это просто вопрос личных предпочтений?

Хотелось бы услышать от экспертов.

Ответ 3

Книга Стива Судерса Высокопроизводительные веб-сайты рекомендует помещать скрипты внизу, перед тегом </body>. Вы также можете найти это на сайте developer.yahoo.com здесь. (Это четвертая рекомендация в списке.)

Я обычно ставил сценарии внизу, перед тегом '' и имел несколько проблем с этим. Я заметил, что это повышает производительность на старых браузерах, таких как IE7, намного больше, чем на более новых, таких как FF3.6, Chrome и IE9. Более старые браузеры поддерживают только две параллельные загрузки, тогда как более новые поддерживают что-то 6 подключений. Блокировка, как результат, не столь заметна.

Надеюсь, это поможет!