почему браузер не нажимает кнопку «Назад» на последней просмотренной странице?

Я работаю над сайтом (переделка, вероятно, более подходящее слово, так как изначально я его не создавал), и столкнулся со следующим странным сценарием:

Пользователи переходят на страницу, которая показывает список текущих событий. Это называется «что по».

Я добавил ссылку на эту страницу, которая переводит пользователей в полный календарь событий на месяц в обычном формате календаря. Эта страница называется «календарь событий». Оказавшись на странице, они также могут выбрать, какой месяц они хотят видеть и какой тип событий они интересуют.

Пользователи могут щелкнуть событие, указанное в любой дате, чтобы перейти на страницу с подробной информацией о событии. (страница — это детали события с запросом, который извлекает соответствующее событие.) Я добавил кнопку назад на страницу под списком событий, которая вернет их в календарь, показывающий месяц и результаты поиска, которые они только что просмотрели. Никаких проблем — я использую PHP $ _SERVER [‘HTTP_REFERER’], и это работает отлично.

Вот в чем проблема — если я только что сделал ссылку back () или history.go (-1) на эту кнопку, он полностью возвращает пользователя к «whats-on». То же самое происходит, когда вы нажимаете кнопку возврата браузера. Он просто полностью пропускает «календарь событий».

По-видимому, это происходит на сайте при других сценариях, таких как списки предприятий и поиски.

Очевидно, что я не хочу такого поведения — я хочу, чтобы кнопка «Назад» переходила на ранее просмотренную страницу, как и должна !!

Я не могу придумать в коде ничего такого, что могло бы вызвать это, но разработчики оригинального сайта включили целую кучу пакетов JQuery, таких как jQuery UI, и мне интересно, может ли что-то мешать поведению кнопки возврата по умолчанию. Это вообще возможно ??

Наверное, я хочу знать, что есть какой-нибудь код JQuery, который бы изменил поведение кнопки «назад», чтобы я мог выследить и убить ее !!

Просто ищу идеи о том, где начать искать.

0

Решение

Видимо, единственный способ заставить его работать — это манипулировать историей браузера, используя

    history.pushState({}, '', 'event-calendar?<plus whatever query was used to pull the data>');

на самой странице календаря.

Кажется, это работает, но какой глупый обходной путь. Хотел бы я найти оригинальную проблему.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]