История
Базовая Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Интерфейс History API истории позволяет управлять историей сеанса браузера, то есть страницами, посещёнными в вкладке или фрейме, в котором загружена текущая страница.
Существует только один экземпляр history (это синглтон), доступный через глобальный объект history.
Свойства экземпляра
Интерфейс 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