У меня есть рекомендация для другого подхода.Допустим, у вас есть ссылка, которая ведет на какую-то страницу (но использует AJAX без обновления).При щелчке по этой ссылке вы меняете хеш на что угодно.Теперь, когда пользователь нажимает кнопку «Назад», хэш возвращается к тому, что было изначально до того, как пользователь нажал на ссылку ... но вы могли бы проверить, было ли инициировано событие щелчка по ссылке или кнопке (или как угодноселектор / событие, которое вы хотите проверить).Если он был запущен, вы знаете, что запрос пришел от клика на самой странице.Если не было событий, которые вы проверяете, вы знаете, что щелчок произошел с помощью кнопки «назад» или «вперед».
Еще одна вещь, которую вы можете сделать, это добавить суффикс к хешу при его изменении (с помощью кнопки «назад» или «вперед» на основе проверки любых событий).Таким образом, если бы у вас был хэш #pageTitle
, вы бы превратили его в #pageTitle_chrome
, чтобы указать, что хеш был изменен с кнопки «назад» или «вперед».
Затем, когда вы проверяете свои хэши, выможно было просто увидеть, содержит ли он _chrome
, чтобы определить, какое это было изменение хеша.