我正在运行一个简单的:
window.location.hash = "hash";
在页面加载后立即在 URL 中添加哈希。我明白了,mySite.com/aPage#hash。当我单击后退按钮时,我希望 url 更改回 mySite.com/aPage 而没有任何实际加载/返回。相反,我被带回到 mySite.com/aPage 之前的历史条目。
它运行良好,当我调用 window.location.hash 例如在用户触发的点击事件回调中。
我创建了一个测试: http: //jsbin.com/idukiz/1/ 查看代码:http: //jsbin.com/idukiz/1/edit
只有在 setTimeout 函数中添加的最后一个哈希的行为与我预期的一样。任何想法如何在没有 setTimeout 的情况下使其工作?