Свойство history
объекта window
содержит историю сеансов браузера, список всех страниц, посещенных в текущем фрейме или окне.
Поскольку объект window
находится в верхней части цепочки областей видимости, к свойствам объекта window.history
можно обращаться без указания префикса window
. Свойство window.history.length
может быть записана как history.length
.
Следующий раздел покажет вам, как получить информацию об истории просмотров пользователя. Однако по соображениям безопасности скрипты не имеют доступа к сохраненным URL-адресам.
Получение количества посещенных страниц
Свойство window.history.length
можно использовать для получения количества страниц в истории сеансов браузера для текущего окна. Оно также включает в себя загруженную страницу.
Вы можете использовать это свойство, чтобы узнать, сколько страниц посетил пользователь во время текущего сеанса браузера, как показано в следующем примере:
<script>
function getViews() {
alert("You've accessed " + history.length + " web pages in this session.");
}
</script>
<button type="button" onclick="getViews();">Get Views Count</button>
Как вернуться к предыдущей странице
Вы можете использовать метод back()
объекта history
, то есть history.back()
, чтобы вернуться на предыдущую страницу истории сеанса. Это то же самое, что нажать кнопку «Назад» в браузере.
<script>
function goBack() {
window.history.back();
}
</script>
<button type="button" onclick="goBack();">Go Back</button>
Как перейти к следующей странице
Вы можете использовать метод forward()
объекта history
, то есть history.forward()
, чтобы перейти к следующей странице истории сеанса. Это то же самое, что нажать кнопку «Вперед» в браузере.
<script>
function goForward() {
window.history.forward();
}
</script>
<button type="button" onclick="goForward();">Go Forward</button>
Переход на определенную страницу
Вы также можете загрузить определенную страницу из истории сеанса, используя метод go()
объекта history
, то есть history.go()
. Этот метод принимает целое число в качестве параметра. Отрицательное целое число перемещает назад в истории, а положительное целое число вперед.
window.history.go(-2); // Вернуться на две страницы
window.history.go(-1); // Вернуться на одну страницу
window.history.go(0); // Перезагрузить текущую страницу
window.history.go(1); // Перейти на одну страницу вперед
window.history.go(2); // Перейти вперед на две страницы
Если вы попытаетесь получить доступ к странице, которой нет в истории окна, то методы back()
, forward()
и go()
просто ничего не сделают.