1

在测试场景中,我有两个页面 pageA 和 pageB。

在第一步中,一个按钮触发window.history.pushState调用,并在地址栏中显示 pageB 的地址。

在第二步中,浏览器的地址栏用于向 pageB 发出请求。浏览器呈现 pageB 的内容。在地址栏中显示pageB的地址。

在最后一步浏览器的后退按钮用于返回页面A。在地址栏中显示pageA的地址。但是,浏览器显示 pageB 的内容,我希望看到 pageA 的内容。

我知道我做错了什么。即使我不知道如何描述这种行为。你有什么建议吗?

在这里您可以在 jsFiddle 中找到演示:http: //jsfiddle.net/HqECT/3/show/

您可能会看到实现:http: //jsfiddle.net/HqECT/3/

注意:测试在 Chrome v30.0.1599.101 中运行

4

1 回答 1

2

您需要监听popstate 事件。事件对象将具有一个state属性,该属性包含您在调用时放入历史记录的任何数据pushState。如果您将正确的数据放入其中,您可以使用它将页面恢复到旧 URL 的状态。

于 2013-10-18T13:42:31.837 回答