我正在运行一个简单的:
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的情况下工作呢?
location.hash
更改创建历史记录“条目”...或者只有在onload
中才会创建历史记录? - Rudielocation.hash
通常不会更新历史记录。 - Paul S.