chrome 回退前进按钮不触发onpopstate事件

新手上路,请多包涵

我发现chrome下点击浏览记录回退或者前进按钮有时候不能触发popstate事件.

比如我在A页面点击了一个h链接导致B页面加载了. 然后在按回退按钮, 此时A页面又被重新加载回来了.

B页面的加载会调用document.ready中的代码, 然后回退到A页面的时候同样调用了document.ready的代码. 问题是在document.ready中的popstate事件并没有被触发.

这在其他浏览器比如uc safari是会触发popstate的.

阅读 10.5k
2 个回答

时隔三年我来回答这个问题。

结论:我也没找到解决的办法,安卓有个bug,苹果压根不适用

但是:

Android-chrome
当点击dom页面任何一个元素(alert不算),可以触发popstate监听。

Ios-chrome
现象比较奇怪。
当下拉刷新页面一次,可以用popstate监听一次;
当下拉刷新页面两次,可以用popstate监听两次;
...以此类推
另外当下拉刷新两次以上,监听一次,点击dom页面任何一个元素(alert不算),可以继续监听;
一直循环刷新点击可以无限监听。

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