在测试场景中,我有两页pageA和pageB。
在第一步中,按钮会触发window.history.pushState
来电,并会显示pageB的地址栏地址。
在第二步中,浏览器的地址栏用于请求pageB。浏览器呈现pageB的内容。在地址栏中显示pageB的地址。
在最后一步中,浏览器的后退按钮用于返回pageA。在地址栏中,显示了pageA的地址。但浏览器显示pageB的内容,我希望看到pageA的内容。
我知道我做错了什么。即使我不知道如何描述这种行为。你有什么建议吗?
您可以在jsFiddle中找到演示:http://jsfiddle.net/HqECT/3/show/
您可能会看到实施:http://jsfiddle.net/HqECT/3/
注意:测试在Chrome v30.0.1599.101
中运行答案 0 :(得分:2)
您需要收听popstate event。事件对象将具有state
属性,其中包含您在调用pushState
时放入历史记录中的任何数据。如果您在其中放入了正确的数据,则可以使用该数据将页面还原到旧URL的状态。