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

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

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

阅读 3.9k
2 个回答

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题