Он запускается после полной загрузки документа, инициализации дерева DOM, применения всех стилей CSS и выполнения всего Javascript.Он отличается от события load
тем, что элементы (кроме CSS / JS), которые загружают свое содержимое с других URL-адресов, таких как изображения или флэш-файлы, не обязательно завершили загрузку на этом этапе.Это обычно называется событием «domready» или «domloaded», и некоторые современные браузеры поддерживают его напрямую (например, Firefox имеет событие DomContentLoaded), а в других его можно моделировать с помощью различных приемов, таких как использование атрибута defer
или размещениескрипт в самом конце тела.
Преимущество состоит в том, что вы можете надежно взаимодействовать с документом в это время;например, вы можете установить обработчик событий для элемента с определенным идентификатором и быть уверенным, что он уже существует в дереве DOM.С другой стороны, он может запускаться значительно раньше, чем событие загрузки, если какой-либо внешний ресурс загружается медленно.Если ваш сценарий находится в конце вашего HTML-кода, тогда может быть небольшая разница в использовании или отсутствии использования события domready, но обычно сценарии вызываются из тега head
, и в этот момент элементы тела недоступныеще.