PerformanceNavigationTiming: domContentLoadedEventEnd 属性

**domContentLoadedEventEnd** 只读属性返回一个 DOMHighResTimeStamp,表示当前文档的 DOMContentLoaded 事件处理程序完成后的时间。

通常,框架和库会在 DOMContentLoaded 事件发生后才开始运行其代码。我们可以使用 domContentLoadedEventEnddomContentLoadedEventStart 属性来计算这需要多长时间才能运行。

一个 DOMHighResTimeStamp,表示当前文档的 DOMContentLoaded 事件处理程序完成后的时间。

示例

测量 DOMContentLoaded 事件处理程序时间

domContentLoadedEventEnd 属性可用于测量处理 DOMContentLoaded 事件处理程序需要多长时间。

使用 PerformanceObserver 的示例,它会在浏览器性能时间轴中记录新的 navigation 性能条目时发出通知。使用 buffered 选项访问观察者创建之前的条目。

js
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    const domContentLoadedTime =
      entry.domContentLoadedEventEnd - entry.domContentLoadedEventStart;
    console.log(
      `${entry.name}: DOMContentLoaded processing time: ${domContentLoadedTime}ms`,
    );
  });
});

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

使用 Performance.getEntriesByType() 的示例,它仅显示在您调用此方法时浏览器性能时间轴中存在的 navigation 性能条目

js
const entries = performance.getEntriesByType("navigation");
entries.forEach((entry) => {
  const domContentLoadedTime =
    entry.domContentLoadedEventEnd - entry.domContentLoadedEventStart;
  console.log(
    `${entry.name}: DOMContentLoaded processing time: ${domContentLoadedTime}ms`,
  );
});

规范

规范
导航计时级别 2
# dom-performancenavigationtiming-domcontentloadedeventend

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅