PerformanceNavigationTiming: unloadEventEnd-Eigenschaft
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Oktober 2021.
Die schreibgeschützte Eigenschaft unloadEventEnd gibt einen DOMHighResTimeStamp zurück, der die Zeit unmittelbar nach der Ausführung des unload-Ereignishandlers des vorherigen Dokuments repräsentiert.
Wert
Die unloadEventEnd-Eigenschaft kann die folgenden Werte haben:
- Ein
DOMHighResTimeStamp, der die Zeit unmittelbar nach der Ausführung desunload-Ereignishandlers des vorherigen Dokuments repräsentiert. 0, wenn es kein vorheriges Dokument gibt.0, wenn die vorherige Seite auf einem anderen Ursprung war.
Beispiele
>Messung der unload-Ereignishandlerzeit
Die unloadEventEnd-Eigenschaft kann verwendet werden, um zu messen, wie lange es dauert, den unload-Ereignishandler zu verarbeiten.
Dies ist nützlich, um die Zeit von lange laufenden unload-Ereignishandlern zu messen.
window.addEventListener("unload", (event) => {
// Some long running code
});
Beispiel mit einem PerformanceObserver, der neue navigation-Performance-Einträge benachrichtigt, sobald sie in der Leistungstimeline des Browsers aufgezeichnet werden. Verwenden Sie die Option buffered, um auf Einträge vor der Observer-Erstellung zuzugreifen.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
const unloadEventTime = entry.unloadEventEnd - entry.unloadEventStart;
if (unloadEventTime > 0) {
console.log(
`${entry.name}: unload event handler time: ${unloadEventTime}ms`,
);
}
});
});
observer.observe({ type: "navigation", buffered: true });
Beispiel mit Performance.getEntriesByType(), das nur die navigation-Performance-Einträge anzeigt, die zum Zeitpunkt des Aufrufs dieser Methode in der Leistungstimeline des Browsers vorhanden sind:
const entries = performance.getEntriesByType("navigation");
entries.forEach((entry) => {
const unloadEventTime = entry.unloadEventEnd - entry.unloadEventStart;
if (unloadEventTime > 0) {
console.log(`${entry.name}:
load event handler time: ${unloadEventTime}ms`);
}
});
Spezifikationen
| Specification |
|---|
| Navigation Timing Level 2> # dom-performancenavigationtiming-unloadeventend> |
Browser-Kompatibilität
Siehe auch
unloadEreignis