PerformanceNavigationTiming: loadEventStart 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.
TheloadEventStart read-only property returns aDOMHighResTimeStamp representing the time immediately before the current document'sload event handler starts.
In this article
Value
ADOMHighResTimeStamp representing the time immediately before the current document'sload event handler starts.
Examples
>Measuringload event handler time
TheloadEventStart property can be used to measure how long it takes to process theload event handler.
This is useful to measure the time of long runningload event handlers.
window.addEventListener("load", (event) => { // Some long running code});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) => { const loadEventTime = entry.loadEventEnd - entry.loadEventStart; if (loadEventTime > 0) { console.log(`${entry.name}: load event handler time: ${loadEventTime}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) => { const loadEventTime = entry.loadEventEnd - entry.loadEventStart; if (loadEventTime > 0) { console.log(`${entry.name}: load event handler time: ${loadEventTime}ms`); }});Specifications
| Specification |
|---|
| Navigation Timing Level 2> # dom-performancenavigationtiming-loadeventstart> |
Browser compatibility
See also
loadevent