Где я должен объявить файлы JavaScript, используемые на моей странице? В <head></head> или около </body>? - PullRequest
38 голосов
/ 18 июня 2009

Я читал учебник, и автор упомянул, что он включает файлы Javascript рядом с закрывающим тегом body (</body>) в HTML.

Мне было интересно, какую функциональность я не должен объявлять / определять JavaScript, включаемый в раздел head? Для меня имеет смысл включать JavaScript, такой как Google Analytics, рядом с закрывающим тегом body. Где я должен быть осторожен при определении JavaScript-включения рядом с закрывающим тегом body?

Ответы [ 12 ]

0 голосов
/ 18 июня 2009

Единственная причина, по которой он помещается ближе к концу тела, AFAIK, заключается в возможности выполнения JavaScript после , когда веб-браузер проанализировал ваш HTML-документ. Например. если ваш JavaScript имеет дело со «всеми элементами с именем hello», браузер должен прочитать весь документ перед выполнением вашего JavaScript. Имеет смысл, верно?

Например, JQuery, вы можете поместить свой JavaScript в любом месте вашего документа и использовать:

$(document).ready(function () {
  // your code here
});

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

0 голосов
/ 18 июня 2009

Вы должны сделать это около </body>. Причина проста: если вы поместите его в область head, файлы должны быть загружены до того, как будет доступна область тела. В это время пользователь просто видит белый экран.

Но это зависит от вашего сайта. Я бы загружал фреймворки, такие как mootools в области головы, другие функции для событий или AJAX, или что-то должно быть загружено около </body>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...