Spec-Zone.ru › Web APIs

История

Базовая Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

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

Интерфейс History API истории позволяет управлять историей сеанса браузера, то есть страницами, посещёнными в вкладке или фрейме, в котором загружена текущая страница.

Существует только один экземпляр history (это синглтон), доступный через глобальный объект history.

Примечание: Этот интерфейс доступен только в главном потоке (Window). К нему нельзя получить доступ в контекстах Worker или Worklet.

Свойства экземпляра

Интерфейс History не наследует никаких свойств.

length Только для чтения

Возвращает Integer, представляющее количество элементов в истории сеанса, включая текущую загруженную страницу. Например, для страницы, загруженной в новой вкладке, это свойство возвращает 1.

scrollRestoration

Позволяет веб-приложениям явно задать поведение восстановления прокрутки при навигации по истории. Это свойство может быть auto или manual.

state Только для чтения

Возвращает значение any, представляющее состояние в верхней части стека истории. Это способ посмотреть состояние без ожидания события popstate.

Методы экземпляра

Интерфейс History не наследует никаких методов.

back()

Этот асинхронный метод переходит к предыдущей странице в истории сеанса, то же самое, что и при нажатии пользователем кнопки "Назад" браузера. Эквивалентно history.go(-1).

Вызов этого метода для перехода назад за первой страницей в истории сеанса не имеет эффекта и не вызывает исключения.

forward()

Этот асинхронный метод переходит к следующей странице в истории сеанса, то же самое, что и при нажатии пользователем кнопки "Вперед" браузера; это эквивалентно history.go(1).

Вызов этого метода для перехода вперёд за последней страницей в истории сеанса не имеет эффекта и не вызывает исключения.

go()

Асинхронно загружает страницу из истории сеанса, определённую её относительным положением по отношению к текущей странице, например -1 для предыдущей страницы или 1 для следующей страницы. Если вы укажете значение вне допустимого диапазона (например, -1 в случае отсутствия ранее посещённых страниц в истории сеанса), этот метод молча не имеет никакого эффекта. Вызов go() без параметров или со значением 0 перезагружает текущую страницу.

pushState()

Добавляет заданные данные в стек истории сеанса с указанным заголовком (и, при необходимости, URL). Данные рассматриваются как непрозрачные для DOM; вы можете указать любой JavaScript-объект, который может быть сериализован. Обратите внимание, что все браузеры, кроме Safari, в настоящее время игнорируют параметр title. Для получения дополнительной информации см. Работа с API истории.

replaceState()

Обновляет последнее значение в стеке истории с указанными данными, заголовком и, при необходимости, URL. Данные рассматриваются как непрозрачные для DOM; вы можете указать любой JavaScript-объект, который может быть сериализован. Обратите внимание, что все браузеры, кроме Safari, в настоящее время игнорируют параметр title. Для получения дополнительной информации см. Работа с API истории.

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

Спецификация
HTML
# the-history-interface

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
History 1 12 1 3 1 18 4 10.1 1 1.0 4.4
back 1 12 1 ≤12.1 1 18 4 ≤12.1 1 1.0 4.4
forward 1 12 1 ≤12.1 1 18 4 ≤12.1 1 1.0 4.4
go 1 12 1 ≤12.1 1 18 4 ≤12.1 1 1.0 4.4
length 1 12 1 ≤12.1 1 18 4 ≤12.1 1 1.0 4.4
pushState 5 12
4До Firefox 5, переданный объект сериализовался с помощью JSON. Начиная с Firefox 6, объект сериализуется с помощью алгоритма структурированного клонирования. Это позволяет безопасно передавать более широкий спектр объектов.
11.5 5 18
4До Firefox для Android 5, переданный объект сериализовался с помощью JSON. Начиная с Firefox для Android 6, объект сериализуется с помощью алгоритма структурированного клонирования. Это позволяет безопасно передавать более широкий спектр объектов.
11.5 4 1.0 ≤37
replaceState 5 12
4До Firefox 5, переданный объект сериализовался с помощью JSON. Начиная с Firefox 6, объект сериализуется с помощью алгоритма структурированного клонирования. Это позволяет безопасно передавать более широкий спектр объектов.
11.5 5 18
4До Firefox для Android 5, переданный объект сериализовался с помощью JSON. Начиная с Firefox для Android 6, объект сериализуется с помощью алгоритма структурированного клонирования. Это позволяет безопасно передавать более широкий спектр объектов.
11.5 4 1.0 ≤37
scrollRestoration 46 79 46 33 11 46 46 33 11 5.0 46
state 19 12 4 ≤12.1 6 25 4 ≤12.1 6 1.5 4.4

См. также

  • history глобальный объект

© 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/History

Spec-Zone.ru

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