location.assign无法回退?

<body>

<button onclick="location.assign('http://www.baidu.com')">2222</button>

<script>
location.assign('http://www.baidu.com')
</script>  

</body>

assign理应跳转后会出现后退按钮的,如果点击按钮,执行js,那么的确会有后退按钮,但是如果不是通过按钮跳转,而是进入页面后就执行一段js,那么浏览器就无法后退了。其实不仅仅是location.assign,location.href 也有这样的现象。

我觉得应该不是这些方法的问题,在进入页面就执行js的这种情况,跳转了,但是前面的页面其实还是没有加载完的,我觉得可能的原因是这个,但是为什么呢?。。。。

阅读 3.7k
1 个回答

感觉可能和浏览器把当前 state 放入 history 中的时机有关,加个 setTimeout 0 即可正常出现后退按钮。
查资料中,待更新...

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