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

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die notRestoredReasons schreibgeschützte Eigenschaft des PerformanceNavigationTiming-Interfaces gibt ein NotRestoredReasons-Objekt zurück, das Berichtsdaten über die Gründe liefert, warum das aktuelle Dokument daran gehindert wurde, den Zurück/Vorwärts-Cache (bfcache) bei der Navigation zu nutzen.

Wert

Wenn das zugehörige PerformanceNavigationTiming-Objekt eine Verlaufsnavigation darstellt, gibt notRestoredReasons ein NotRestoredReasons-Objekt zurück.

Wenn das PerformanceNavigationTiming-Objekt keine Verlaufsnavigation darstellt, gibt notRestoredReasons null zurück. Dies ist nützlich, um festzustellen, ob bfcache für eine bestimmte Navigation nicht relevant ist (im Gegensatz dazu, dass notRestoredReasons nicht unterstützt wird, in welchem Fall es undefined zurückgeben würde).

Die notRestoredReasons-Eigenschaft kann null zurückgeben, selbst wenn der Navigationstyp als zurück/vorwärts gemeldet wird. Die Umstände, unter denen dies geschieht, umfassen:

  • Das Duplizieren einer Zurück/Vorwärts-Navigation in einem neuen Tab. In solchen Fällen kopieren einige Browser den Navigationstyp vom Originaltab, aber da diese tatsächlich keine Zurück/Vorwärts-Navigationen sind, gibt notRestoredReasons null zurück.
  • Das Wiederherstellen eines Zurück/Vorwärts-Navigationstabs nach einem Browser-Neustart. Da der bfcache vollständig geladene Seiten einschließlich DOM und JavaScript-Heap speichert, können Entwickler nicht dafür sorgen, dass bfcache einen vollständigen Neustart überlebt. Die Eigenschaft gibt daher null zurück, da es keinen bfcache-Eintrag gab, der die Wiederherstellung hätte blockieren können.

Beispiele

PerformanceNavigationTiming-Daten können aus der Performance-Timeline mithilfe von Performance.getEntriesByType() oder PerformanceObserver abgerufen werden.

Beispielsweise könnte die folgende Funktion aufgerufen werden, um alle PerformanceNavigationTiming-Objekte, die derzeit in der Performance-Timeline vorhanden sind, zurückzugeben und ihre notRestoredReasons zu protokollieren:

js
function returnNRR() {
  const navEntries = performance.getEntriesByType("navigation");
  for (let i = 0; i < navEntries.length; i++) {
    console.log(`Navigation entry ${i}`);
    let navEntry = navEntries[i];
    console.log(navEntry.notRestoredReasons);
  }
}

Die PerformanceNavigationTiming.notRestoredReasons-Eigenschaft gibt ein Objekt mit der folgenden Struktur zurück, das die Gründe angibt, warum das aktuelle Dokument daran gehindert wurde, den bfcache zu nutzen. In diesem Beispiel hat das Top-Level-Frame keine eingebetteten <iframe>-Kinder:

json
{
  "children": [],
  "id": null,
  "name": null,
  "reasons": [{ "reason": "unload-listener" }],
  "src": "",
  "url": "example.com"
}

Spezifikationen

Spezifikation
Navigation Timing Level 2
# dom-performancenavigationtiming-notrestoredreasons

Browser-Kompatibilität

Siehe auch