2

请告诉我我做错了什么。

我正在使用 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

我浏览器中的 URL 实际上发生了变化,但onstatechange 不再触发!您能否让我知道如何使用我的网址中存在的哈希值使 onstatechange 触发。

注意:我每次都在 pushState() 中传递整个 url;

我试过onpopstate。它几乎总是触发.. 除了 URL 等于初始 URL 的时间。

4

1 回答 1

1

它有一个特定的事件:window.onanchorchange

于 2013-12-09T06:23:52.130 回答