请告诉我我做错了什么。
我正在使用History.js HTML5版本。当我的网址类似
时example.com/?param=1
我将其更改为
example.com/?param=2
使用History.pushState(...), 一切都按预期进行。
但是当我的Url中有一个锚点(只是一个与js无关的普通锚点)时,这样:
example.com/?param=1#someanchor
我将其更改为
example.com/?param=2#someanchor
我的浏览器中的网址确实发生了变化,但是 onstatechange不会再触发了!您是否愿意让我知道如何使用我的网址中存在的哈希来更新onstatechange。
注意:我每次都在pushState()中传递整个url;
我试过onpopstate。它几乎总是触发..除了URL等于初始URL的时间。
答案 0 :(得分:1)
有一个特定的事件:window.onanchorchange