Атрибут defer

Влад Мержевич

Internet Explorer Chrome Opera Safari Firefox Android iOS
3.0+ 8.0+ 15.0+ 5.0+ 3.5+ 3.0+ 5.0+

Спецификация

HTML: 3.2 4.01 5.0 XHTML: 1.0 1.1

Описание

Атрибут defer откладывает выполнение скрипта до тех пор, пока вся страница не будет загружена полностью.

Синтаксис

HTML
<script defer>...</script>
XHTML
<script defer="defer">...</script>

Значения

Нет.

Значение по умолчанию

По умолчанию этот атрибут выключен.

Пример

HTML5IECrOpSaFx

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тег SCRIPT, атрибут defer</title>
  <script defer>
    document.forms[0].textField.value = 17;
  </script>
 </head>
 <body>

  <form action="handler.php">
   <p>Введите ваш возраст</p>
   <p><input type="text" name="textField"></p>
  </form>

 </body>
</html>

В скрипте данного примера значение текстового поля с именем textField приравнивается 17. Однако при запуске скрипта форма еще не инициализирована, поэтому требуется использовать атрибут defer. Без него будет выведена ошибка.

Браузеры

В Firefox 3.6 и старше атрибут defer игнорируется, если у тега <script> не указан атрибут src. В Firefox 3.5 поведение другое и defer работает даже для встроенных скриптов.

Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.