В этом руководстве вы узнаете, как получить доступ к истории сеансов браузера с помощью объекта history
JavaScript. Когда вы запускаете веб-браузер и открываете страницу, веб-браузер создает новую запись в своем стеке истории.
Если вы переходите на другую веб-страницу, браузер также создает новую запись в стеке истории.
Стек истории хранит текущую страницу и предыдущие страницы, которые вы посетили.
Чтобы управлять стеком истории, вы используете объект history
, который является свойством объекта window
:
window.history
Из соображений безопасности невозможно запросить страницы, которые посетил пользователь. Однако вы можете использовать объект history
для навигации вперед и назад, не зная точного URL-адреса.
Использование
Объект history предоставляет три метода для навигации между страницами в стеке истории:
back()
forward()
go()
Двигаться назад
Чтобы двигаться назад по истории, вы используете метод back()
:
window.history.back();
Или же
history.back();
Это похоже на то, как если бы вы нажали кнопку «Назад» на панели инструментов веб-браузера.
Двигаться вперед
Точно так же вы можете двигаться вперед, используя метод forward()
:
history.forward();
Это работает так же, как когда вы нажимаете кнопку «Вперед».
Перейти к определенному URL-адресу в истории
Чтобы перейти к определенному URL-адресу в стеке истории, вы используете метод go()
. Метод go()
принимает целое число, представляющее позицию относительно текущей страницы. Текущая позиция страницы равна 0.
Например, чтобы двигаться назад, вы используете:
history.go(-1);
Это похоже на метод back()
.
Чтобы переместиться вперед на страницу, вы просто вызываете:
history.go(1)
Чтобы обновить текущую страницу, вы либо передаете 0, либо не передаете аргумент методу go()
:
history.go(0); history.go();
Чтобы определить количество URL-адресов в стеке истории, вы используете свойство length
:
history.length
Заключение
- Объект
window.history
в JavaScript позволяет вам получить доступ к стеку истории браузера. - Чтобы перейти к URL-адресу в истории, вы используете методы
back()
,forward()
иgo()
. history.length
возвращает количество URL-адресов в стеке истории.