PerformanceNavigationTiming: unloadEventStart-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 unloadEventStart-Eigenschaft gibt einen DOMHighResTimeStamp zurück, der die Zeit unmittelbar vor dem Start des unload-Ereignishandlers des vorherigen Dokuments darstellt.
Wert
Die unloadEventStart-Eigenschaft kann die folgenden Werte haben:
- Ein
DOMHighResTimeStamp, der die Zeit unmittelbar vor dem Start desunload-Ereignishandlers des vorherigen Dokuments darstellt. 0, wenn es kein vorheriges Dokument gibt.0, wenn die vorherige Seite von einer anderen Herkunft stammt.
Beispiele
>Zeitmessung des unload-Ereignishandlers
Die unloadEventStart-Eigenschaft kann verwendet werden, um zu messen, wie lange die Verarbeitung des unload-Ereignishandlers dauert.
Dies ist nützlich, um die Zeit von lang andauernden unload-Ereignishandlern zu messen.
window.addEventListener("unload", (event) => { // Some long running code }); Beispiel unter Verwendung eines PerformanceObserver, der über neue navigation-Performance-Einträge benachrichtigt, sobald sie in der Performance-Timeline des Browsers aufgezeichnet werden. Verwenden Sie die buffered-Option, um auf Einträge 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 unter Verwendung von Performance.getEntriesByType(), die nur navigation-Performance-Einträge zeigt, die zum Zeitpunkt des Aufrufs dieser Methode in der Performance-Timeline 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-unloadeventstart> |
Browser-Kompatibilität
Siehe auch
unloadEreignis