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 schreibgeschützte Eigenschaft notRestoredReasons des PerformanceNavigationTiming-Interfaces gibt ein NotRestoredReasons-Objekt zurück, das Berichtsdaten über die Gründe liefert, warum das aktuelle Dokument daran gehindert wurde, den Vorwärts-/Rückwärts-Cache (bfcache) bei der Navigation zu verwenden.
Wert
Wenn das zugehörige PerformanceNavigationTiming-Objekt eine Verlauf-Navigation darstellt, gibt notRestoredReasons ein NotRestoredReasons-Objekt zurück.
Wenn das PerformanceNavigationTiming-Objekt keine Verlauf-Navigation darstellt, wird notRestoredReasons null zurückgeben. Dies ist nützlich, um festzustellen, ob der 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).
Hinweis:
notRestoredReasons kann null zurückgeben, obwohl der Navigationstyp als Vorwärts-/Rückwärts-Navigation gemeldet wird. Diese Umstände beinhalten das Duplizieren einer Vorwärts-/Rückwärts-Navigation in einem neuen Tab und das Wiederherstellen eines Vorwärts-/Rückwärts-Navigationstabs nach einem Browser-Neustart. In solchen Fällen kopieren einige Browser den Navigationstyp aus dem Original-Tab, aber da dies tatsächlich keine Vorwärts-/Rückwärts-Navigationen sind, gibt notRestoredReasons null zurück.
Beispiele
PerformanceNavigationTiming-Daten können von der Performance-Zeitleiste mit Performance.getEntriesByType() oder PerformanceObserver abgerufen werden.
Zum Beispiel könnten Sie die folgende Funktion aufrufen, um alle aktuell in der Performance-Zeitleiste vorhandenen PerformanceNavigationTiming-Objekte abzurufen und deren notRestoredReasons zu protokollieren:
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 Eigenschaft PerformanceNavigationTiming.notRestoredReasons gibt ein Objekt mit der folgenden Struktur zurück, das die Gründe liefert, warum das aktuelle Dokument daran gehindert wurde, den bfcache zu verwenden. In diesem Beispiel hat das Top-Level-Frame keine eingebetteten Kind-<iframe>s:
{
"children": [],
"id": null,
"name": null,
"reasons": [{ "reason": "unload-listener" }],
"src": "",
"url": "example.com"
}
Spezifikationen
| Spezifikation |
|---|
| Navigation Timing Level 2> # dom-performancenavigationtiming-notrestoredreasons> |