Редактировать: Хотя этот вопрос уже задавался и на него давались ответы ( 1 ), ( 2 ), ( 3 ), В ответах не упоминается возможность использования асинхронной и / или отложенной загрузки при включении файлов в <head>
. Мне было предложено задать вопрос из-за нового кода Google Analytics, который использует оба этих метода.
Недавно я заметил, что Google Analytics теперь предлагает включить свой фрагмент Javascript прямо перед тегом </head>
. Они предлагали включать фрагмент прямо перед тегом </body>
.
В рекомендациях YUI для ускорения работы вашего веб-сайта предлагается размещать сценарии как можно дальше вниз по странице, поскольку сценарии могут блокировать параллельные загрузки:
Проблема, вызванная скриптами, заключается в том, что они блокируют параллельные загрузки. Спецификация HTTP / 1.1 предполагает, что браузеры загружают не более двух компонентов параллельно для каждого имени хоста. Если вы обслуживаете свои изображения с нескольких имен хостов, вы можете получить более двух загрузок параллельно. Однако во время загрузки скрипта браузер не будет запускать другие загрузки, даже на разных именах хостов.
Google говорит:
Одним из основных преимуществ асинхронного фрагмента является то, что вы можете расположить его в верхней части HTML-документа. Это увеличивает вероятность того, что маяк отслеживания будет отправлен до того, как пользователь покинет страницу. Обычно код JavaScript размещается в разделе <head>
, и мы рекомендуем размещать фрагмент в нижней части раздела <head>
для лучшей производительности.
В целом меня больше волнует пользовательский опыт и скорость загрузки страницы, чем обеспечение отправки каждого маяка для отслеживания, поэтому это подтолкнет меня к включению сценария аналитики Google внизу страницы, а не в <head>
, верно?
Я уверен, что есть больше вещей, чтобы рассмотреть, чем эти две точки зрения. Что на тебя влияет? Что нужно учитывать?
Итак, каковы плюсы и минусы наличия ваших сценариев прямо перед </head>
по сравнению с </body>
?