Spec-Zone.ru › Web APIs

PerformanceNavigationTiming: свойство domInteractive

Базовая Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с октября 2021 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Чтение только свойство domInteractive возвращает DOMHighResTimeStamp, представляющий момент времени непосредственно перед тем, как пользовательский агент установит для документа readyState в значение "interactive".

Примечание: Это свойство не является временем до интерактивности (TTI). Это свойство относится к моменту времени, когда построение DOM завершено и взаимодействие с ним из JavaScript возможно. Также см. состояние interactive Document.readyState, соответствующее этому свойству.

Измерение времени обработки DOM может быть некритичным, если у вашего сайта очень большой HTML-код для построения Document Object Model.

Если нет блокирующего парсер JavaScript, то событие DOMContentLoaded (см. domContentLoadedEventStart для отметки времени) сработает сразу после domInteractive.

Значение

A DOMHighResTimeStamp представляющий момент времени непосредственно перед тем, как пользовательский агент установит для документа readyState в значение "interactive".

Примеры

Ведение журнала времени взаимодействия с DOM

Свойство domInteractive может использоваться для ведения журнала времени, когда завершено построение DOM и взаимодействие с ним возможно.

Пример с использованием PerformanceObserver, который уведомляет о новых записях производительности navigation по мере их записи в временной шкале производительности браузера. Используйте параметр buffered для доступа к записям, предшествующим созданию наблюдателя.

const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    console.log(
      `${entry.name}: domInteractive time: ${entry.domInteractive}ms`,
    );
  });
});

observer.observe({ type: "navigation", buffered: true });

Пример с использованием Performance.getEntriesByType(), который отображает только записи производительности navigation в временной шкале производительности браузера на момент вызова этого метода:

const entries = performance.getEntriesByType("navigation");
entries.forEach((entry) => {
  console.log(`${entry.name}: domInteractive time: ${entry.domInteractive}ms`);
});

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

Спецификация
Navigation Timing Level 2
# dom-performancenavigationtiming-dominteractive

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
domInteractive 57 12 58 44 15 57 58 43 15.1 7.0 57

См. также

  • Document.readyState

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming/domInteractive

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API