ios 页面后退不重新加载问题

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

安卓是没有问题的。

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

```

window

.addEventListener('pageshow',function(e){

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

if(e.persisted) {

        location.reload();

    }

````

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

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

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

你可能感兴趣的:(ios 页面后退不重新加载问题)