我在使用window.onhashchange和Firefox 21中的后退按钮时遇到了问题。
我编写了一个测试页面,当用户在页面上选择一个元素时,会在地址中添加一个哈希:
ELEMENT.onclick > window.location.hash = ID
其中ID是元素的id。
使用
window.onhashchange = hashChanged
我将hashchange事件绑定到一个函数,在该函数中我选择由哈希标识的元素。
只要我留在我的测试页面上就可以了。我可以通过按后退和前进按钮在浏览器历史记录中前后移动,并且会触发hashchange事件,即相应地更改页面状态。
但是,当我浏览到我使用我的测试页面的选项卡中的另一个页面然后按后退按钮返回到我的页面时,它处于初始状态。正如预期的那样,正确的哈希位于地址栏中,但不会触发hashchange事件。
有什么问题?