ios页面退后不重新刷新网页问题

原创
小哥 2年前 (2022-11-21) 阅读数 75 #大杂烩

使用history.go(-1)回退页面,结果页面不刷新,处理过的数据还留在页面上,容易出现二次处理报错的问题。

安卓是没有问题的。

使用此方法可以解决加载问题。不限于ios或者android.只要页面显示就可以使用此方法。



window

.addEventListener(pageshow,function(e){

// 通过persisted属性判断是否存在 BF Cache

if(e.persisted) {

location.reload();

}

![](https://img-blog.csdnimg.cn/202007131645221.png)

原理:pageShow事件在页面显示即会触发,无论页面是否来自BF Cache。通过检测persisted属性即可判断是否存在 BF Cache 行为。

优点:大部分浏览器都支持pageShow方法与persisted属性,并且需要的代码量只需要短短4行即可。

缺点:每种浏览器中BF Cache的机制是不同的,部分浏览器中的Bf Cache还是会重新执行js代码,会造成重复渲染效果。当然现在我们只考虑Ios中的微信页面, 所以是不存在问题。
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门