JavaScript откладывает - PullRequest
       11

JavaScript откладывает

2 голосов
/ 19 апреля 2011

Помещает ли теги <script> непосредственно перед тем, как закрывать теги <body> так же, помещая их в раздел <head> и указывая атрибут defer="defer"?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 19 апреля 2011

Да / Нет.

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

Нет, потому что размещение <script> перед тегом </body> не обязательно означает, что документ полностью загружен, поскольку у вас могут быть другие теги между закрывающим тегом тела и закрывающим тегом HTML. Пример

<html>
  <head>
  </head>
  <body>
  <script>...</script>
  </body>
  <link/>
  <script>
  although it is invalid HTML most browsers will render tags outside the body. This is 
  probably more of an error in code
  <div> some content</div>
</html>

Также следует отметить, что атрибут defer тега script работает не во всех браузерах.

Отредактировано:

Что касается производительности для более быстрой загрузки страниц, вы можете захотеть взглянуть на эту статью, в ней приведены некоторые рекомендации, в том числе, куда поместить скрипт и css

http://developer.yahoo.com/performance/rules.html

1 голос
/ 19 апреля 2011

Обычно да, но браузеры не гарантируют, что они будут выполнять JavaScript после загрузки страницы, если вы не укажете это (defer = "defer").

1 голос
/ 19 апреля 2011

defer Требуется: Gecko 1.9.1. Логический атрибут установлен для указания браузеру, что подразумевается скрипт выполняется после того, как документ были проанализированы Поскольку эта функция не еще были реализованы всеми остальными основные браузеры, авторы не должны предположим, что выполнение скрипта будет фактически отложено. Никогда не звони document.write () из отложенного сценария (начиная с Gecko 1.9.2, это будет прочь документ). Отсрочка атрибут не должен использоваться в скриптах которые не имеют атрибута src. Начиная с Gecko 1.9.2, атрибут defer игнорируется в сценариях, которые не имеют атрибут src. Однако в Гекко 1.9.1 даже встроенные сценарии откладываются, если задан атрибут defer.

Когда документ закончил синтаксический анализ и в конце тега <body> похожи, но не совпадают.

Также важно отметить, что это работает только для сценариев с внешним набором src.

...