Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как узнать что пользователь нажал кнопку назад (https://javascript.ru/forum/events/79492-kak-uznat-chto-polzovatel-nazhal-knopku-nazad.html)

A.User 15.02.2020 21:52

Как узнать что пользователь нажал кнопку назад
 
Прошу подскажите как лучше сегодня узнать что пользователь нажал кнопку в браузере "назад" или "вперед", чтобы написать свой обработчик события для этих действий? Суть в том, что у меня одностраничный проект, и я в нем сам в коде проверяю на какой странице пользователь и подгружаю контент в блок div. Теперь заметил, что история браузера не работает, то есть если нажимаю назад, то ничего не происходит. Но даже если бы и произошло что-то, то ведь в скрипте идет определение что грузить, а не по загрузке документа через URL-поля браузера. Теперь я не знаю что лучше сделать. Первое пришло в голову: это реализовать свои обработчики кнопок "назад" - "вперед", хранить в localStorage URL предыдущей страницы и в случае нажатия в браузере кнопки "назад" взять этот адрес и загрузить его страницу в тот же блок div, таким образом у пользователя будет впечатление что кнопка "назад" сработала как надо. Аналогично и с кнопкой вперед.

Nexus 16.02.2020 00:06

Тут, вроде бы, разжевывается работа с историей таба:
https://habr.com/ru/post/123106/

Цитата:

Сообщение от A.User
Прошу подскажите как лучше сегодня узнать что пользователь нажал кнопку в браузере "назад" или "вперед"

Слушать событие popstate: https://developer.mozilla.org/ru/doc...popstate_event


Часовой пояс GMT +3, время: 15:42.