Разница между событиями DOMContentLoaded и загрузкой
В чем разница между событиями DOMContentLoaded и загрузкой?
Ответы
Ответ 1
В Центр разработчиков Mozilla:
Событие DOMContentLoaded запускается, когда документ был полностью загружен и проанализирован, не дожидаясь таблиц стилей, изображений, и подкадры для завершения загрузки (событие загрузки может использоваться для обнаружения полностью загруженная страница).
Ответ 2
Событие DOMContentLoaded
будет срабатывать, как только иерархия DOM будет полностью построена, событие load
сделает это, когда все изображения и подкадры закончат загрузку.
Это событие будет работать на большинстве современных браузеров, , но не на IE, включая IE9 и выше. Есть несколько обходных решений, чтобы имитировать это событие в более старых версиях IE, например, используемых в библиотеке jQuery, они прикрепляют IE onreadystatechange
.
Ответ 3
Посмотрите на разницу:
DEMO
Из Microsoft IE
Событие DOMContentLoaded срабатывает при завершении синтаксического анализа текущей страницы; событие загрузки запускается, когда все файлы завершают загрузку со всех ресурсов, включая рекламу и изображения. DOMContentLoaded - отличное событие для использования функций пользовательского интерфейса для сложных веб-страниц.
Из Mozilla Developer Network
Событие DOMContentLoaded запускается, когда документ полностью загружен и проанализирован, не дожидаясь завершения стилей, изображений и подкадров, чтобы завершить загрузку (событие загрузки может использоваться для обнаружения полностью загруженной страницы).
Ответ 4
DOMContentLoaded
== window.onDomReady()
Load
== window.onLoad()
Нельзя безопасно манипулировать страницей, пока документ не будет готов. jQuery определяет это состояние готовности для вас. Код, включенный внутри $(document).ready() будет запускаться только после того, как страница Document Object Model (DOM) готова для выполнения кода JavaScript. Код, включенный внутри $(window).load(function() {...}) будет запускаться после того, как будет готова вся страница (изображения или фреймы), а не только DOM.
Смотрите: http://learn.jquery.com/using-jquery-core/document-ready/
Ответ 5
-
domContentLoaded: указывает точку, когда и DOM готов, и
нет стилей, которые блокируют выполнение JavaScript -
что мы можем (потенциально) построить дерево рендеринга. Многие
Структуры JavaScript ждут этого события, прежде чем они начнут выполнять свою собственную логику. По этой причине браузер захватывает временные метки EventStart и EventEnd, чтобы мы могли отслеживать, как долго это выполнение
взял.
-
loadEvent: как последний шаг в каждой загрузке страницы обозревателя
событие "onload", которое может инициировать дополнительную логику приложения.
источник