В этом руководстве вы узнаете, как получить доступ к истории сеансов браузера с помощью объекта 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-адресов в стеке истории.
