我正在使用pushState来更改网站的网址:
history.pushState("", "info", "/info");
哪个效果很好,但现在后退按钮不起作用.我相信我需要使用遍历历史堆栈的onPopState编写自己的后退和前进按钮行为并呈现相应的页面.诀窍是,当“后退”为空时,它应该做后退按钮通常会做的事情(在用户进入我的网站之前“返回”页面).
这似乎是非常标准的行为,是否有我可以使用的配方/一些标准代码?
解决方法:
啊我提出了一个解决方案,并不像我想的那么难(基本上它只是使用url路径名来呈现正确的东西):
// Makes the back button work
window.onpopstate = function(event) {
if (document.location.pathname == '/main') {
$("#main").show();
$("#info").hide();
$("#settings").hide();
}
if (document.location.pathname == '/info') {
alert('info');
$("#main").hide();
$("#info").show();
$("#settings").hide();
}
if (document.location.pathname == '/settings') {
alert('settings');
$("#main").hide();
$("#info").hide();
$("#settings").show();
}
};