Объект History
Объект History предоставляет журнал навигации за всё время работы с конкретным окном. Так как он является свойством объекта Window, то у каждой вкладки в браузере, также как и у каждого элемента <iframe> будет свой объект Window и свой объект History.
Из соображений безопасности браузеры не позволяют определять URL-адреса страниц, которые посещал пользователь, но можно перемещаться по их списку вперёд и назад, не зная URL-адреса.
Свойство length
У объекта History есть только одно свойство - length. Оно возвращает целое число, указывающее количество страниц в истории сеанса работы с текущим окном браузера, включая текущую загруженную страницу. Это свойство можно использовать следующим образом:
alert("Количество страниц, просмотренных в текущем окне, равно " + history.length);
Данный код отправляет пользователю сообщение с информацией о количестве посещенных страниц в текущем окне браузера. Например для загруженной в новой вкладке страницы это свойство вернет значение 1.
Метод back()
Метод back() загружает предыдущую страницу из истории сеанса (выполняет тоже действие, что и кнопка назад в браузере). Эквивалентен history.go(-1).
<!DOCTYPE html> <html> <body> <button onclick="goBack()">Вернуться назад</button> <script> function goBack() { history.back(); } </script> </body> </html>
Метод forward()
Метод forward() загружает следующую страницу в истории сеанса (выполняет тоже действие, что и кнопка вперед в браузере). Эквивалентен history.go(1).
history.forward();
Метод go()
Метод go() загружает страницу из истории посещения текущего окна или вкладки браузера. Этот метод принимает один аргумент: строку или целое число. Целое положительное число указывает на какое количество страниц вперед нужно перейти, отрицательное число указывает на сколько страниц назад нужно вернуться. С помощью строкового аргумента можно указать точный URL-адрес из истории посещения, на который нужно перейти.
// переход назад на одну страницу history.go(-1); // переход вперед на две страницы history.go(2);
Примечание: если числовой аргумент выходит за допустимые пределы истории посещения текущего окна ( например, -1 когда ранее посещенных страниц нет в журнале сеанса), то метод не выполнит никаких действий. Тоже самое касается и строкового аргумента, если в истории посещения не было указанного URL-адреса, то метод не будет выполнять никаких действий.