window.location.href 跳转无历史记录

 

需求:从页面a单点登录跳至页面b,在页面b里做判断符合条件后location.href至c页面

问题:在页面c中点击返回按钮页面回到了a,正常情况下应该回到页面b

原因:在当前页面的 onload 事件发起之前,location.href 也是替换当前历史记录,但我是写在window.onload里的啊,不知道为什么也不行,打印history确实只有两条记录。

解决方法一:加延时器setTimeout,能解决问题,但是不友好

方法二:pushState,手动添加一条记录

history.pushState(null,null,'b.html')
window.location.href = '/c.html'

ok!

猜你喜欢

转载自www.cnblogs.com/wong-do/p/9390934.html