这是我网站上的事件流程
转到 [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);