移动端的h5开发,总是会有各种各样的问题,世间本没有bug,写着写着就有了。近期开发遇到这样一个功能:A页面上有一段链接,通过window.location.href = 'xxx', 跳转到另一个页面B,完成一系列操作后,又要跳回来之前的A,但这个时候A页面应该是需要重新刷新的,数据要重新请求,下面贴出A 页面部分代码:
但测试华为及小米低端版本的时候,并没有刷新,抓包并没有抓到请求,但是奇怪的是,代码确实运行到请求接口的数据了,可能的原因应该是缓存了,于是搜索了一下,加上了一个方法:
这个方法也并不奏效,
网络上还有一个方法,也是监听pageshow,亲测是好用的:
window.performance 是由 W3C 性能小组提出的用于精确计算网页性能数据的特性,它返一个 Performance 对象,其中window.performance.navigation返回 PerformanceNavigation 对象,该对象表示在当前给定浏览上下文中网页导航的类型
最后受到这篇的启发https://github.com/jun-lu/blog/issues/57,同样给接口添加了随机数r,真的就解决了缓存的问题:
最后给大家推荐一个抓包工具:https://github.com/topics/spy-debugger。