Преимущества загрузки JS в нижней части, а не в верхней части документа


какие реальные преимущества (если таковые имеются) для загрузки JS в нижней части документа, в отличие от верхней. Кажется, есть небольшая задержка в загрузке страницы и JS зависимых функций.

Я использую html5boilerplate для начала всех моих шаблонов, но я не совсем уверен, насколько полезна загрузка JS внизу.

действительно ли это имеет такое большое значение, и если да, то почему?

4 52

4 ответа:

  1. Если вы включаете внешние JS-файлы в нижней части страницы, вы отдаете приоритет своим HTTP-запросам визуальному отображению, которое будет представлено клиенту, а не логике взаимодействия или динамике. Я считаю, что если вы не используете сеть доставки контента для доставки изображений клиенту, то вам разрешено обрабатывать не более 2 HTTP-запросов одновременно. Вы не хотите тратить эти запросы на логику, потому что все мы знаем, как нетерпелив конец пользователь.

  2. загрузив js в конце файла, вы можете получить доступ к DOM(большую часть времени) без необходимости вызывать документ.готовые (функция). Вы знаете, что если рендер страницы, наконец, попадает в ваш код javascript, то необходимые элементы страницы обычно уже загружены.

есть еще несколько причин, но это важные, которые я пытаюсь вспомнить, когда мне так неудобно размещать все js на дно.

поскольку скрипты, на которые ссылаются, загружаются, браузеры обычно не загружают другие файлы параллельно, что замедляет загрузку страницы.

относятся: лучшие практики для ускорения вашего сайта

поиск Google возвращает большое количество результатов, почему вы хотите это сделать и какие улучшения вы увидите. Проверьте некоторые из следующих ссылок:

в принципе, основная причина для этого заключается в том, что вы улучшите время рендеринга своей страницы. С самого начала статья:

[I]t лучше переместить скрипты из сверху до самого низа страницы, насколько это возможно. Одна из причин заключается в том, чтобы включить прогрессивный рендеринг, но другой-это достижение большая параллелизация загрузки.

в зависимости от того, что находится в js. если только хотите, чтобы он "пошел" , когда страница загружается, либо окружите свой код jquery: $(function(){}) или поместите его в нижней части страницы