PerformanceNavigationTiming: domInteractive property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2021.
ThedomInteractive read-only property returns aDOMHighResTimeStamp representing the time immediately before the user agent sets the document'sreadyState to"interactive".
Note:This property isnotTime to interactive (TTI). This property refers to the time when DOM construction is finished and interaction to it from JavaScript is possible. See also theinteractive state ofDocument.readyState which corresponds to this property.
Measuring DOM processing time may not be consequential unless your site has a very large HTML source to a construct a Document Object Model from.
If there is no parser-blocking JavaScript then theDOMContentLoaded event (seedomContentLoadedEventStart for the timestamp) will fire immediately afterdomInteractive.
In this article
Value
ADOMHighResTimeStamp representing the time immediately before the user agent sets the document'sreadyState to"interactive".
Examples
>Logging DOM interaction time
ThedomInteractive property can be used to log the time when the DOM construction has finished and interaction with it is possible.
Example using aPerformanceObserver, which notifies of newnavigation performance entries as they are recorded in the browser's performance timeline. Use thebuffered option to access entries from before the observer creation.
const observer = new PerformanceObserver((list) => { list.getEntries().forEach((entry) => { console.log( `${entry.name}: domInteractive time: ${entry.domInteractive}ms`, ); });});observer.observe({ type: "navigation", buffered: true });Example usingPerformance.getEntriesByType(), which only showsnavigation performance entries present in the browser's performance timeline at the time you call this method:
const entries = performance.getEntriesByType("navigation");entries.forEach((entry) => { console.log(`${entry.name}: domInteractive time: ${entry.domInteractive}ms`);});Specifications
| Specification |
|---|
| Navigation Timing Level 2> # dom-performancenavigationtiming-dominteractive> |