HTML | Отчёт о статусе загрузки документа

HTML | Отчёт о статусе загрузки документа

Для веб-разработчиков (не нормативно)

document.readyState

Возвращает:

«loading» (загрузка) во время загрузки объекта документа Document,

«interactive» (интерактивный) после завершения синтаксического анализа, но по-прежнему загружает подресурсы,

«complete (завершённый) после загрузки.

 

Событие readystatechange запускается для объекта Document при изменении этого значения.

Событие DOMContentLoaded срабатывает после перехода в режим «interactive» (интерактивный), но до перехода в режим «complete (завершённый), в момент загрузки всех подресурсов, кроме элементов асинхронного сценария — async script.

Каждый объект документа Document имеет текущую готовность документа (current document readiness), строку, изначально «complete (завершённый).

 

Примечание

Для объектов Document, созданных с помощью алгоритма создания и инициализации объекта Document, он будет немедленно сброшен на «loading» (загрузку), прежде чем какой-либо скрипт сможет увидеть значение document.readyState. Это значение по умолчанию применяется к другим случаям, таким как Documentы начальные about:blank или Documentы без контекста просмотра.

Шаги геттера(получателя) readyState должны возвращать текущую готовность документа объекта контекста (this).

Чтобы обновить текущую готовность документа (update the current document readiness) для Document document на readynessValue:

1. Если текущая готовность документа document равна readinessValue, возврат.
2. Задайте для текущей готовности документа document значение readinessValue.
3. Если document связан с синтаксическим анализатором HTML, то:
  3.1. Пусть now будет текущим временем с высоким разрешением для соответствующего глобального объекта документа document.
  3.2. Если readinessValue равно "complete (завершённый), а время завершения DOM информации о времени загрузки документа document равно 0, тогда установите время завершения DOM информации о времени загрузки документа document на настоящее время.
  3.3. В противном случае, если readinessValue имеет значение «interactive», а время интерактивного взаимодействия DOM информации о времени загрузки документа равно 0, тогда установите интерактивное время DOM информации о времени загрузки документа на настоящее время now.
4. Запустить событие с именем readystatechange в документе document.

 

Говорят, что документ Document имеет активный синтаксический анализатор (active parser), если он связан с синтаксическим анализатором HTML или синтаксическим анализатором XML, которые ещё не были остановлены или прерваны.

 

Документ Document имеет информацию о времени загрузки документа, информацию о времени загрузки (load timing info).

Документ Document имеет информацию о времени выгрузки документа о предыдущем времени выгрузки документа (previous document unload timing).

 
Структура информации о времени загрузки документа (document load timing info) содержит следующие элементы:

время начала навигации — navigation start time (по умолчанию 0)

Число

Интерактивное время DOM — DOM interactive time (по умолчанию 0)

Время начала события загрузки содержимого DOM — DOM content loaded event start time (по умолчанию 0)

Время окончания события загрузки содержимого DOM — DOM content loaded event end time (по умолчанию 0)

Время готовности DOM — DOM complete time (по умолчанию 0)

время начала события загрузки — load event start time (по умолчанию 0)

время окончания события загрузки — load event end time (по умолчанию 0)

Значения DOMHighResTimeStamp

 

Структура информации о времени выгрузки документа (document unload timing info) содержит следующие элементы:

начальное время события выгрузки — unload event start time (по умолчанию 0)

конечное время события выгрузки — unload event end time (по умолчанию 0)

Значения DOMHighResTimeStamp

 

 

Информационные ссылки

Стандарт HTML — Раздел «3.1.4 Reporting document loading status» — https://html.spec.whatwg.org/#reporting-document-loading-status