NavigationHistoryEntry
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из самых широко используемых браузеров.
Экспериментально: Это экспериментальная технология
Перед использованием в продакшене тщательно проверьте таблицу совместимости браузеров.
Интерфейс NavigationHistoryEntry из API навигации представляет собой запись из истории навигации.
К этим объектам обычно обращаются через свойство Navigation.currentEntry и метод Navigation.entries().
API навигации раскрывает только записи истории, созданные в текущем контексте просмотра и имеющие тот же домен, что и текущая страница (например, не навигации внутри вложенных <iframe> или навигации с разными доменами), обеспечивая точный список всех предыдущих записей истории только для вашего приложения. Это делает навигацию по истории гораздо менее хрупкой, чем с более старым API истории.
Свойства экземпляра
Наследует свойства от родителя, EventTarget.
-
idТолько для чтения Экспериментально -
Возвращает
idзаписи истории. Это уникальное значение, сгенерированное UA, которое всегда представляет конкретную запись истории, полезную для сопоставления её с внешним ресурсом, таким как кэш хранилища. -
indexТолько для чтения Экспериментально -
Возвращает индекс записи истории в списке записей истории (то есть список, возвращаемый
Navigation.entries()), или-1, если запись отсутствует в списке. -
keyТолько для чтения Экспериментально -
Возвращает
keyзаписи истории. Это уникальное значение, сгенерированное UA, которое представляет собой место записи в списке записей, а не саму запись. Оно используется для перехода к этому месту черезNavigation.traverseTo().keyбудет повторно использоваться другими записями, которые заменяют запись в списке (то есть, еслиNavigateEvent.navigationTypeимеет значениеreplace). -
sameDocumentТолько для чтения Экспериментально -
Возвращает
trueесли эта запись истории относится к тому жеdocumentтекущего значенияDocument, илиfalseв противном случае. -
urlТолько для чтения Экспериментально -
Возвращает абсолютный URL этой записи истории. Если запись соответствует другому документу, чем текущий (например, свойство
sameDocumentимеет значениеfalse), и этот документ был получен с заголовкомReferrer-Policy, установленным наno-referrerилиorigin, свойство возвращаетnull.
Методы экземпляра
Наследует методы от родителя, EventTarget.
-
getState()Экспериментально -
Возвращает копию доступного состояния, связанного с этой записью истории.
События
-
disposeЭкспериментально -
Срабатывает, когда запись больше не является частью списка записей истории.
Примеры
function initHomeBtn() {
// Get the key of the first loaded entry
// so the user can always go back to this view.
const { key } = navigation.currentEntry;
backToHomeButton.onclick = () => {
navigation.traverseTo(key);
};
}
// Intercept navigate events, such as link clicks, and
// replace them with single-page navigations
navigation.addEventListener("navigate", (event) => {
event.intercept({
async handler() {
// Navigate to a different view,
// but the "home" button will always work.
},
});
});
Спецификации
| Спецификация |
|---|
| HTML # the-navigationhistoryentry-interface |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
NavigationHistoryEntry |
102 | 102 | Нет | 88 | Нет | 102 | Нет | 70 | Нет | 19.0 | 102 |
dispose_event |
102 | 102 | Нет | 88 | Нет | 102 | Нет | 70 | Нет | 19.0 | 102 |
getState |
102 | 102 | Нет | 88 | Нет | 102 | Нет | 70 | Нет | 19.0 | 102 |
id |
102 | 102 | Нет | 88 | Нет | 102 | Нет | 70 | Нет | 19.0 | 102 |
index |
102 | 102 | Нет | 88 | Нет | 102 | Нет | 70 | Нет | 19.0 | 102 |
key |
102 | 102 | Нет | 88 | Нет | 102 | Нет | 70 | Нет | 19.0 | 102 |
sameDocument |
102 | 102 | Нет | 88 | Нет | 102 | Нет | 70 | Нет | 19.0 | 102 |
url |
102 | 102 | Нет | 88 | Нет | 102 | Нет | 70 | Нет | 19.0 | 102 |
См. также
- Современная маршрутизация на стороне клиента: API навигации
- Описание API навигации
- Живая демонстрация API навигации от Domenic Denicola здесь
© 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/NavigationHistoryEntry