Навигация: метод traverseTo()
Ограниченная доступность
Эта функция не является базовой, поскольку она не работает в некоторых из самых широко используемых браузеров.
Экспериментально: Это экспериментальная технология экспериментальная технология
Перед использованием в рабочей среде внимательно проверьте таблицу совместимости браузеров.
Метод traverseTo() интерфейса Navigation переходит к NavigationHistoryEntry, идентифицированному заданным key.
Синтаксис
traverseTo(key) traverseTo(key, options)
Параметры
key-
Ключ
NavigationHistoryEntry, к которому осуществляется переход. optionsНеобязательно-
Объект с параметрами, содержащий следующие свойства:
infoНеобязательно-
Информация, определённая разработчиком, которая передаётся в событие
navigate, доступная вNavigateEvent.info. Это может быть любой тип данных. Например, можно отобразить недавно перенаправленный контент с разными анимациями в зависимости от способа перехода (свайп влево, свайп вправо или переход на главную страницу). Строка, указывающая, какую анимацию использовать, может быть передана какinfo.
Возвращаемое значение
Объект со следующими свойствами:
committed-
Promise, который выполнится, когда видимый URL изменится, и будет создан новыйNavigationHistoryEntry. finished-
Promise, который выполнится, когда все обещания, возвращаемые обработчикомintercept(), будут выполнены. Это эквивалентно выполнению обещанияNavigationTransition.finished, когда срабатывает событиеnavigatesuccess.
Любое из этих обещаний отклоняется, если навигация по какой-либо причине не удалась.
Исключения
-
InvalidStateErrorDOMException -
Выбрасывается, если значение
Navigation.currentEntryNavigationHistoryEntry.indexравно -1, что означает, что текущийDocumentещё не активирован, или если список истории навигации не содержитNavigationHistoryEntryс заданным ключом, или если текущийDocumentзагружается.
Примеры
Настройка кнопки "Домой"
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 # dom-navigation-traverseto-dev |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
traverseTo |
102 | 102 | Нет | 88 | Нет | 102 | Нет | 70 | Нет | 19.0 | 102 |
См. также
- Современный маршрутизация на стороне клиента: API навигации
- Описание API навигации
- Живой демонстрация API навигации Domenic Denicola's живой демонстрации API навигации
© 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/Navigation/traverseTo