针对 网上“很多安卓手机微信浏览器无法监听 popstate、hashchange 事件” 的问题。
或只有进行人机交互才能监听成功的。
本人也实践了很多例如模拟人机操作事件,和引入特殊js,都没有成功。
测试发现在手机端必须点击屏幕才算人机交互的一种,PC端可以通过鼠标点击或F12在console中输入一些触发事件
才能监听popstate、hashchange 事件。
最后通过查看一些资料
得知,这种操作其实一些浏览器厂商为了保障一些安全机制而进行了干预,不是html5 对 popstate、hashchange 事件监听失效
当然市面上有些产品看似解决的是无外乎
1.通过覆盖监听事件等复杂操作;
2.修改产品设计诱导用户;
这2种方案研究成本很大。