Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Якоря и нажатие кнопки назад в браузере. (https://javascript.ru/forum/misc/48928-yakorya-i-nazhatie-knopki-nazad-v-brauzere.html)

pavel24071988 22.07.2014 11:54

Якоря и нажатие кнопки назад в браузере.
 
Здравствуйте.
Искал решение проблемы так и не смог найти.
Подскажите пожалуйста.

На странице проекта есть нижнее меню - навигация через него на странице осуществляется по якорям - приведу пример: vprokate.ru/films/2708/#filmawards - при нажатии на кнопку "назад" естественно переход осуществляется на предыдущий якорь. Нужно изменить поведение кнопки назад и переходить на предыдущую страницу - referrer на страницу я смогу вывести с сервера.

Пробывал через onpopstate - но так и не смог разграничить нажатие на кнопку назад и вперед - а это решило бы проблему сразу.

событие window.onpopstate - отрабатывает на нажатие ссылок, якорей в нижнем меню - что вообще меня запутало...

Спасибо

ixth 22.07.2014 13:27

Поробуй не обрабатывать назад/вперед, а переделать переход по якорям при помощи селека. Используй replaceState, по идее он не добавляет якоря в историю, а перезаписывает последний. Из косяков: при переходе вперед ты переместишься на тот якорь, где был в последний раз.

pavel24071988 22.07.2014 13:55

попробывал для теста сделать history.replaceState('Test', 'Test', '/films/22/'); - все равно при кличе на якорь он добавляет hash якоря к урл - да и сейчас посмотрел он мне всю историю браузера сбил - может я что то неправильно делаю опять?

я так понимаю каждый раз когда пользователь будет переходит по вкладке в историю браузера будет записываться url:'/films/22/' а потом нужно нажать 15 раз кнопку назад для перехода к предыдущему referrer (у)



помогите пожалуйста кто может как мне отловить нажатие именно на кнопку назад в браузере при моем случае?

pavel24071988 22.07.2014 17:53

Я так понимаю что мой вопрос сложны - и ответа на него не найдется ?)

Aetae 23.07.2014 03:50

Излишне нестандартное поведение требует танцев с бубнами. За вас могут станцевать только если случай интересный и может пригодится. Увы сейчас это не так.

pavel24071988 23.07.2014 09:55

))))))))))) - ну что же


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