PerformanceNavigationTiming: свойство notRestoredReasons
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.
Экспериментальная: Это экспериментальная технология
Перед использованием в продакшене внимательно ознакомьтесь с таблицей совместимости браузеров.
Только для чтения свойство notRestoredReasons интерфейса PerformanceNavigationTiming возвращает объект NotRestoredReasons, предоставляющий данные о причинах блокирования текущего документа от использования кэша вперёд/назад (bfcache) при навигации.
Значение
Когда связанный объект PerformanceNavigationTiming представляет навигацию по истории, notRestoredReasons возвращает объект NotRestoredReasons.
Когда объект PerformanceNavigationTiming не представляет навигацию по истории, notRestoredReasons вернет null. Это полезно для определения, не относится ли bfcache к конкретной навигации (в отличие от ситуации, когда notRestoredReasons не поддерживается, в этом случае он вернет undefined).
Примечание: notRestoredReasons может вернуть null, несмотря на то, что тип навигации указан как навигация вперёд/назад. Эти случаи включают дублирование навигации вперёд/назад в новой вкладке и восстановление вкладки навигации вперёд/назад после перезапуска браузера. В таких случаях некоторые браузеры копируют тип навигации из исходной вкладки, но поскольку это фактически не навигация вперёд/назад, notRestoredReasons возвращает null.
Примеры
PerformanceNavigationTiming данные можно получить из временной шкалы производительности, используя Performance.getEntriesByType() или PerformanceObserver.
Например, вы можете вызвать следующую функцию, чтобы вернуть все объекты PerformanceNavigationTiming, присутствующие в настоящее время в временной шкале производительности, и вывести их notRestoredReasons:
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);
}
}
Свойство PerformanceNavigationTiming.notRestoredReasons возвращает объект со следующей структурой, который предоставляет причины блокирования текущего документа от использования bfcache. В этом примере верхний фрейм не имеет вложенных дочерних <iframe>:
{
children: [],
id: null,
name: null,
reasons: [
{ reason: "unload-listener" }
],
src: "",
url: "example.com",
}
Спецификации
Совместимость браузеров
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
notRestoredReasons |
125 | 125 | Нет | 111 | Нет | 125 | Нет | 83 | Нет | 27.0 | 125 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming/notRestoredReasons