更改后无法返回window.location.href
Can't go back after changing window.location.href
在我的脚本中,我使用
跟踪我在网页中所在的选项卡
window.location.href = #!hashName1
如果我然后单击另一个选项卡,它将转到#!hashName2
我的问题是,如果我单击后退按钮,它只会返回状态 #!hashName1。然后我必须再次单击返回以返回另一页。
有什么办法让它返回一个页面而不是返回到以前的哈希状态?
谢谢
你可以像这样处理后退按钮事件
window.onhashchange = function() {
goBack();
}
function goBack() {
window.location.hash = window.location.lasthash[window.location.lasthash.length-1];
//blah blah blah
window.location.lasthash.pop();
}
只要您按下后退按钮并添加上一个 url
,就会触发此事件
window.onbeforeunload = function() {
window.location.href = document.referrer;
}
以下完美运行:
我改了:
window.location.href = #!hashName1
到
history.replaceState("", "", #!hashName1);
在我的脚本中,我使用
跟踪我在网页中所在的选项卡window.location.href = #!hashName1
如果我然后单击另一个选项卡,它将转到#!hashName2
我的问题是,如果我单击后退按钮,它只会返回状态 #!hashName1。然后我必须再次单击返回以返回另一页。
有什么办法让它返回一个页面而不是返回到以前的哈希状态?
谢谢
你可以像这样处理后退按钮事件
window.onhashchange = function() {
goBack();
}
function goBack() {
window.location.hash = window.location.lasthash[window.location.lasthash.length-1];
//blah blah blah
window.location.lasthash.pop();
}
只要您按下后退按钮并添加上一个 url
,就会触发此事件 window.onbeforeunload = function() {
window.location.href = document.referrer;
}
以下完美运行:
我改了:
window.location.href = #!hashName1
到
history.replaceState("", "", #!hashName1);