更改window.location.href后无法返回

时间:2018-11-02 05:07:22

标签: javascript hash window.location

在我的脚本中,我正在跟踪使用

window.location.href = #!hashName1

如果我然后单击另一个选项卡,它将转到#!hashName2

我的问题是,如果单击后退按钮,它将回到状态#!hashName1。然后,我必须再次单击返回以返回另一页。

有什么办法让它返回页面而不返回到先前的哈希状态?

谢谢

3 个答案:

答案 0 :(得分:0)

u可以像这样处理后退按钮事件

window.onhashchange = function() {
  goBack();
}

function goBack() {
    window.location.hash = window.location.lasthash[window.location.lasthash.length-1];
    //blah blah blah
    window.location.lasthash.pop();
}

答案 1 :(得分:0)

只要您按下“后退”按钮并添加上一个网址,就会触发

 window.onbeforeunload = function() {
            window.location.href = document.referrer;
    }

答案 2 :(得分:0)

以下内容非常有效:

我更改了:

window.location.href = #!hashName1

history.replaceState("", "", #!hashName1);