history.go(-1)执行了但页面没有返回

js代码里写了history.go(-1)执行了但页面没有返回,手动点击浏览器的返回键是可以返回的,试了谷歌和火狐浏览器都一样,而且尝试在history.go(-1)后面alert("")都能执行,但是页面就是没返回,像是返回操作被什么阻断了

最后试了setTimeout(()=>{ history.go(-1) },0),就可以返回了,还是不懂之前为什么不能返回

回复
阅读 2.3k
2 个回答

可能是被重写覆盖了,在控制台输入 history.go,如果不是"ƒ go() { [native code] }"的话,说明被重写覆盖了,找到对应代码修改之(如果可以修改的话),或者试一下:

const i = document.createElement('iframe');
document.body.appendChild(i);
i.contentWindow.history.go(-1);

如果不行的话说明是魔高一丈了,要多摸索。

推荐问题
宣传栏