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 October 2021.
Die schreibgeschützte Eigenschaft unloadEventEnd
gibt einen DOMHighResTimeStamp
zurück, der die Zeit unmittelbar nach Abschluss des unload
-Ereignishandlers des aktuellen Dokuments darstellt.
Werte
Die Eigenschaft unloadEventEnd
kann die folgenden Werte haben:
- Ein
DOMHighResTimeStamp
, der die Zeit unmittelbar nach Abschluss desunload
-Ereignishandlers des aktuellen Dokuments darstellt. 0
, wenn es kein vorheriges Dokument gibt.0
, wenn die vorherige Seite auf einem anderen Ursprung war.
Beispiele
Messung der Zeit des unload
-Ereignishandlers
Die Eigenschaft unloadEventEnd
kann verwendet werden, um zu messen, wie lange es dauert, den unload
-Ereignishandler zu verarbeiten.
Dies ist nützlich, um die Zeit von lang laufenden unload
-Ereignishandlern zu messen.
window.addEventListener("unload", (event) => {
// Some long running code
});
Beispiel mit einem PerformanceObserver
, der über neue navigation
-Performance-Einträge benachrichtigt, sobald sie in der Leistungstimeline des Browsers aufgezeichnet werden. Verwenden Sie die buffered
-Option, um auf Einträge von vor der Erstellung des Observers 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 navigation
-Performance-Einträge zeigt, die zum Zeitpunkt des Aufrufs dieser Methode in der Leistungstimeline des Browsers vorhanden sind:
const entries = performance.getEntriesByType("navigation");
entries.forEach((entry) => {
const loadEventTime = 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
BCD tables only load in the browser
Siehe auch
unload
Ereignis