Javascript/jQuery仅在浏览器后退/前进按钮单击时检测哈希更改

Chr*_*ris 5 javascript jquery back browser-history hashchange

是否可以仅在浏览器历史记录更改(即后退或前进按钮)上检测哈希更改?

我已经看到了onBeforeUnload事件,但是这个事件不会触发哈希更改,因为窗口没有卸载.

当哈希值发生变化时,hashchange事件显然会触发.任何修复?优选地,没有插件.我见过jQuery历史插件,但我正在寻找最简单的解决方案.

谢谢您的帮助.

fra*_*aro 6

每当我的导航被触发时,我最终都会标记一个标志,如果标记了标记,hashChange事件将忽略它,否则它将处理它,就好像它是一个后退/前进事件.


dSq*_*red 5

看一下window.onhashchange事件。

但是,当前并非所有浏览器都支持它。在这里查看BA jQuery Hash Change插件。如果最终选择使用插件,则可能会起作用。

我希望这有帮助!