Я использую плагин History.js, который поддерживает HTML 5 pushState и replaceState. Смена состояний запускается, когда пользователь нажимает кнопку «назад / вперед» и когда используется pushState / replaceState. Мне нужно проверить, вызвано ли событие смены состояния кнопкой назад / вперед или с помощью методов pushState / replaceState.
Согласно обсуждению автора на GitHub, это невозможно сделать (год назад не смог найти ссылку снова). Ваш выбор действительно заключается в том, чтобы найти какой-то обходной путь, например, крошки и т. Д.
Я не смотрел на History.js, но jQuery BBQ Бена Алмана (Библиотека кнопок и очередей) - отличная библиотека, которая содержит событие hashchange. Однако это может отличаться от того, что вы пытаетесь сделать, поскольку его библиотека опирается на хештеги в URL, а не на внутреннюю смену состояний браузера. У него также есть репозиторий на GitHub для hashchange .