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: Eigenschaft unloadEventEnd

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Oktober 2021 browserübergreifend verfügbar.

Die schreibgeschützte Eigenschaft unloadEventEnd gibt einen DOMHighResTimeStamp zurück, der den Zeitpunkt unmittelbar nach dem Abschluss des Event-Handlers für das unload-Ereignis des vorherigen Dokuments darstellt.

Wert

Die Eigenschaft unloadEventEnd kann die folgenden Werte haben:

  • Ein DOMHighResTimeStamp, der den Zeitpunkt unmittelbar nach dem Abschluss des Event-Handlers für das unload-Ereignis des vorherigen Dokuments darstellt.
  • 0, wenn kein vorheriges Dokument vorhanden ist.
  • 0, wenn die vorherige Seite von einem anderen Origin stammt.

Beispiele

Messen der Ausführungszeit des unload-Event-Handlers

Die Eigenschaft unloadEventEnd kann verwendet werden, um zu messen, wie lange die Verarbeitung des Event-Handlers für das unload-Ereignis dauert.

Dies ist nützlich, um die Ausführungszeit von lang laufenden Event-Handlern für das unload-Ereignis 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-Zeitachse des Browsers aufgezeichnet werden. Verwenden Sie die Option buffered, 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 anzeigt, die zum Zeitpunkt des Aufrufs dieser Methode in der Performance-Zeitachse des Browsers vorhanden sind:

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

Spezifikation
Navigation Timing Level 2
# dom-performancenavigationtiming-unloadeventend

Browser-Kompatibilität

Siehe auch