Spec-Zone.ru › Web APIs

Навигация: метод updateCurrentEntry()

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментальная функция: Это экспериментальная технология
Перед использованием в рабочей среде внимательно ознакомьтесь с таблицей совместимости браузеров.

Метод updateCurrentEntry() интерфейса Navigation обновляет state объекта currentEntry; используется в тех случаях, когда изменение состояния не зависит от навигации или перезагрузки.

Синтаксис

updateCurrentEntry(options)

Параметры

options

Объект параметров, содержащий следующие свойства:

state

Информация, определенная разработчиком, которая будет сохранена в ассоциированном элементе NavigationHistoryEntry после завершения навигации и доступна через getState(). Это может быть любой тип данных. Например, вы можете сохранить количество посещений страницы для целей аналитики или сохранить данные состояния пользовательского интерфейса, чтобы отобразить представление точно так, как пользователь его оставил. Любые данные, хранящиеся в state должны быть структурируемо клонируемыми.

Возвращаемое значение

Ничего (undefined).

Исключения

DataCloneError DOMException

Выбрасывается, если параметр state содержал значения, которые не могут быть структурируемо клонированы.

InvalidStateError DOMException

Выбрасывается, если объект Navigation.currentEntry null, т. е. нет текущей записи истории. Это может произойти, например, если текущая страница about:blank.

Примеры

Вы можете использовать что-то подобное для обновления состояния открытости/закрытости элемента <details>, чтобы состояние можно было восстановить при перезагрузке страницы или возвращении с другой страницы.

detailsElem.addEventListener("toggle", () => {
  navigation.updateCurrentEntry({ state: { detailOpen: detailsElem.open } });
});

Спецификации

Спецификация
HTML
# dom-navigation-updatecurrententry-dev

Совместимость браузеров

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
updateCurrentEntry 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/updateCurrentEntry

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API