PerformanceNavigationTiming: domInteractive 屬性
domInteractive 只讀屬性返回一個 DOMHighResTimeStamp,表示使用者代理將文件的 readyState 設定為 "interactive" 之前的確切時間。
注意:此屬性不是 可互動時間 (TTI)。此屬性指的是 DOM 構建完成並且 JavaScript 可以與之互動的時間。另請參閱 Document.readyState 的 interactive 狀態,它與此屬性相對應。
除非您的網站擁有非常大的 HTML 源來構建文件物件模型 (DOM),否則測量 DOM 處理時間可能並不重要。
如果沒有解析器阻塞的 JavaScript,那麼 domInteractive 之後會立即觸發 DOMContentLoaded 事件(有關時間戳,請參閱 domContentLoadedEventStart)。
值
一個 DOMHighResTimeStamp,表示使用者代理將文件的 readyState 設定為 "interactive" 之前的確切時間。
示例
記錄 DOM 互動時間
domInteractive 屬性可用於記錄 DOM 構建已完成並且可以與之互動的時間。
使用 PerformanceObserver 的示例,它會在瀏覽器效能時間線中記錄新的 navigation 效能條目時通知您。使用 buffered 選項可以訪問觀察者建立之前的條目。
js
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 效能條目。
js
const entries = performance.getEntriesByType("navigation");
entries.forEach((entry) => {
console.log(`${entry.name}: domInteractive time: ${entry.domInteractive}ms`);
});
規範
| 規範 |
|---|
| 導航計時 Level 2 # dom-performancenavigationtiming-dominteractive |
瀏覽器相容性
載入中…