Преимущества загрузки JS в нижней части, а не в верхней части документа
какие реальные преимущества (если таковые имеются) для загрузки JS в нижней части документа, в отличие от верхней. Кажется, есть небольшая задержка в загрузке страницы и JS зависимых функций.
Я использую html5boilerplate для начала всех моих шаблонов, но я не совсем уверен, насколько полезна загрузка JS внизу.
действительно ли это имеет такое большое значение, и если да, то почему?
4 ответа:
Если вы включаете внешние JS-файлы в нижней части страницы, вы отдаете приоритет своим HTTP-запросам визуальному отображению, которое будет представлено клиенту, а не логике взаимодействия или динамике. Я считаю, что если вы не используете сеть доставки контента для доставки изображений клиенту, то вам разрешено обрабатывать не более 2 HTTP-запросов одновременно. Вы не хотите тратить эти запросы на логику, потому что все мы знаем, как нетерпелив конец пользователь.
загрузив js в конце файла, вы можете получить доступ к DOM(большую часть времени) без необходимости вызывать документ.готовые (функция). Вы знаете, что если рендер страницы, наконец, попадает в ваш код javascript, то необходимые элементы страницы обычно уже загружены.
есть еще несколько причин, но это важные, которые я пытаюсь вспомнить, когда мне так неудобно размещать все js на дно.
поскольку скрипты, на которые ссылаются, загружаются, браузеры обычно не загружают другие файлы параллельно, что замедляет загрузку страницы.
относятся: лучшие практики для ускорения вашего сайта
поиск Google возвращает большое количество результатов, почему вы хотите это сделать и какие улучшения вы увидите. Проверьте некоторые из следующих ссылок:
- высокопроизводительные веб-сайты: Правило 6-перемещение скриптов на дно
- лучшие практики Rails: Скрипты внизу
в принципе, основная причина для этого заключается в том, что вы улучшите время рендеринга своей страницы. С самого начала статья:
[I]t лучше переместить скрипты из сверху до самого низа страницы, насколько это возможно. Одна из причин заключается в том, чтобы включить прогрессивный рендеринг, но другой-это достижение большая параллелизация загрузки.