更改后无法返回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);