Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Отличия script defer и dom ready


Автор: asmirnov 19.8.2012, 14:44
Подскажите в чем отличия <script defer src="..."> и вызов jQuery $(document).ready() ?

Автор: Amphiluke 19.8.2012, 16:34
По большому счету они приводят к практически одинаковым результатам. Различия в деталях:
  •  согласно http://www.w3.org/TR/html5/the-end.html#the-end, скрипты с атрибутом defer выполняются всё же на один шаг раньше, чем возникает событие DOMContentLoaded (т.е. начнут выполняться jQuery-обработчики, добавленные через .ready());
  •  метод .ready() гарантирует вам кроссбраузерность, а defer пока что не полностью;
  •  метод .ready() может опционально выполнять ряд других задач. Например, он может продолжать ожидать окончания асинхронной загрузки отдельных элементов, даже когда DOM полностью сформирован, если программисту так было угодно (для этого предусмотрен метод http://api.jquery.com/jQuery.holdReady/);
  •  и т.д. =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)