Не знаю, поможет ли это в вашей ситуации, но Sammy.js, популярная библиотека хеш-маршрутизации, имеет обработчик до . Я использовал его в своем приложении для записи ранее использованного хэша, и если это хэш, я хочу помешать им покинуть его, возвращение false сохранит их на этой странице. Вам все еще нужно переписать URL, чтобы отобразить предыдущую страницу, но, похоже, он работает.
См. мой ответ в этой другой теме для получения дополнительной информации.