Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 des unload-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.

js
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.

js
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:

js
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