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 unloadEventStart schreibgeschützte Eigenschaft gibt ein DOMHighResTimeStamp zurück, das die Zeit unmittelbar vor dem Start des Ereignis-Handlers unload des vorherigen Dokuments darstellt.
Wert
Die unloadEventStart-Eigenschaft kann folgende Werte haben:
- Ein
DOMHighResTimeStamp, der die Zeit unmittelbar vor dem Beginn desunload-Ereignis-Handlers des vorherigen Dokuments darstellt. 0, falls es kein vorheriges Dokument gibt.0, wenn die vorherige Seite aus einer anderen Herkunft stammt.
Beispiele
>Messen der Zeit des unload-Ereignis-Handlers
Die unloadEventStart-Eigenschaft kann genutzt werden, um die Dauer des unload-Ereignis-Handlers zu messen.
Dies ist nützlich, um die Zeit von lang andauernden unload-Ereignis-Handlers zu messen.
window.addEventListener("unload", (event) => {
// Some long running code
});
Beispiel mit einem PerformanceObserver, der über neue navigation-Performance-Einträge informiert, sobald sie in der Performance-Zeitleiste 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 in der Performance-Zeitleiste des Browsers vorhanden sind, wenn Sie diese Methode aufrufen:
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-unloadeventstart> |
Browser-Kompatibilität
Siehe auch
unload-Ereignis