PerformanceNavigationTiming: loadEventEnd 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.
TheloadEventEnd read-only property returns aDOMHighResTimeStamp representing the time immediately after the current document'sload event handler completes.
In this article
Value
ADOMHighResTimeStamp representing the time immediately after the current document'sload event handler completes.
Examples
>Measuringload event handler time
TheloadEventEnd 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-loadeventend> |
Browser compatibility
See also
loadevent