<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的这种情况,跳转了,但是前面的页面其实还是没有加载完的,我觉得可能的原因是这个,但是为什么呢?。。。。
感觉可能和浏览器把当前
state
放入 history 中的时机有关,加个setTimeout
0 即可正常出现后退按钮。查资料中,待更新...