在测试场景中,我有两个页面pageA和pageB。pushState加扰浏览器历史记录
在第一步中,一个按钮触发window.history.pushState
调用,并在pageB的地址栏中显示地址。
在第二步中,浏览器的地址栏用于请求pageB。浏览器呈现pageB的内容。显示pageB的地址栏地址。
在最后一步中,浏览器的后退按钮用于返回pageA。在地址栏中pageA的地址显示为。然而,浏览器显示页面B的内容,我期待看到pageA的内容。
我知道我做错了什么。即使我不知道如何描述这种行为。你有什么建议吗?
在这里,您可以在演示的jsfiddle发现:http://jsfiddle.net/HqECT/3/show/
您可能会看到执行:http://jsfiddle.net/HqECT/3/
注:测试是在Chrome v30.0.1599.101
如果您正在某个特定的浏览器上进行测试,那么确实指出您正在使用的浏览器可能会很好。 –
您的意思是'window.history.pushState' :-) –
当您遍历通过'pushState'添加的历史元素时,浏览器不加载页面。你需要使用'window.onpopstate'事件来做到这一点。 –