【发布时间】:2013-07-31 20:20:35
【问题描述】:
这是我网站上的事件流
-
转到 [http://example.com]。网页显示来自http://example.com/foo 的内容,即使浏览器地址栏显示http://example.com
网页上的文字要求用户签出栏。用户点击链接并被带到
-
[http://example.com/bar]
网页上的文字要求用户签出 baz。用户点击链接并被带到
-
[http://example.com/baz]
网页上的文字要求用户签出 qux。然而,用户点击浏览器的后退按钮并被带到
-
[http://example.com/bar]
网页上的文字要求用户签出 baz。然而,用户点击浏览器后退按钮并被带到......失败!这是浏览器栏应该变成 [http://example.com] 的地方,但它根本没有改变。
实现这一切的代码相当简单
var goTo: function(uri) {
get uri via XMLHttpRequest
swap content
history.pushState(null, null, uri);
}
window.addEventListener("popstate", function(event) {
var uri = location.pathname.replace("\/", "");
goTo(uri);
}, false);
【问题讨论】:
-
您的链接无效。
example.com是一个保留域——它们永远不会工作。
标签: html browser-history