3
我运行一个简单的:window.location.hash没有创造浏览器历史记录条目
window.location.hash = "hash";
在URL页面加载之后添加一个哈希值。我得到了mySite.com/aPage#hash。当我点击后退按钮时,我预计url会变回mySite.com/aPage,而不会有任何实际加载/返回。相反,我将在我的网站/页面之前回到历史记录。
当我调用window.location.hash例如在由用户触发的点击事件回调中。
我创建了一个测试:http://jsbin.com/idukiz/1/ 见代码:http://jsbin.com/idukiz/1/edit
只有最后一个哈希setTimeout函数里面添加的行为像我期望的那样。任何想法如何让它在没有setTimeout的情况下工作?
谷歌浏览器不需要这个,是吗? Chrome会为每个'location.hash'更改创建历史记录'...或者,如果它位于'onload'中,则不会创建历史记录? – Rudie 2013-03-26 21:07:15
这个问题是关于页面加载时间之后的问题,其中'location.hash'通常不会更新历史记录。 – 2013-03-26 21:19:43
Actauly它不会运行/创建历史记录条目,即使在文档就绪或窗口onload在铬中。我只需要它在IE中,它在文档准备好的地方工作。 – Hans 2013-04-05 11:38:44