Навигация: метод reload()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из самых широко используемых браузеров.
Экспериментальный: Это экспериментальная технология
Перед использованием в рабочей среде внимательно изучите таблицу совместимости с браузерами.
Метод reload() интерфейса Navigation перезагружает текущий URL, обновляя любой предоставленный статус в списке записей истории.
Синтаксис
navigate(options)
Параметры
optionsНеобязательный-
Объект опций, содержащий следующие свойства:
stateНеобязательный-
Определяемая разработчиком информация, которая будет храниться в связанной записи
NavigationHistoryEntryпосле завершения навигации, доступная черезgetState(). Это может быть любой тип данных. Например, вы можете сохранить количество посещений страницы для аналитики или сохранить детали состояния пользовательского интерфейса, чтобы представление отображалось точно так, как пользователь его оставил. Любые данные, хранящиеся вstate, должны быть структурированно клонируемыми. infoНеобязательный-
Определяемая разработчиком информация, передаваемая событию
navigate, доступная вNavigateEvent.info. Это может быть любой тип данных. Например, вы можете отобразить недавно навигационное содержимое с другой анимацией в зависимости от того, как оно было загружено (влево, вправо или на главную). Строка, указывающая, какую анимацию использовать, может быть передана какinfo.
Возвращаемое значение
Объект со следующими свойствами:
committed-
Обещание
Promise, которое выполнится, когда видимый URL изменится и будет создана новая записьNavigationHistoryEntry. finished-
Обещание
Promise, которое выполнится, когда все обещания, возвращённые обработчикомintercept(), будут выполнены. Это эквивалентно выполнению обещанияNavigationTransition.finished, когда срабатывает событиеnavigatesuccess.
Любое из этих обещаний отклоняется, если навигация по какой-либо причине не удалась.
Исключения
-
DataCloneErrorDOMException -
Выбрасывается, если параметр
stateсодержал значения, которые не являются структурированно клонируемыми.
Примеры
Использование info и state
async function handleReload() {
await navigation.reload({
info: { animation: "fade-in" },
state: { infoPaneOpen: true },
}).finished;
// Update application state
// ...
}
Перезагрузка страницы и добавление новой записи состояния:
async function handleReload() {
await navigation.reload({
state: { ...navigation.currentEntry.getState(), newState: 3 },
}).finished;
// Update application state
// ...
}
Спецификации
| Спецификация |
|---|
| HTML # dom-navigation-reload-dev |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
reload |
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/Navigation/reload