移动端微信公众号项目进行UAT测试时遇到一个问题,ios微信浏览器访问项目时回退上一级页面异常,未刷新。网上看的是由于ios回退是从缓存中读取数据的,由于开发环境不方便测试,找到如下解决方法
经测试是有效的,判读用户设备为ios时强制刷新。
mounted () {
this.$nextTick(()=>{
//首页跳转返回 IOS不兼容页面自动刷新问题
var u = navigator.userAgent,
app = navigator.appVersion;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if(isiOS){
window.onpageshow = function(event) {
if (event.persisted) {
window.location.reload()
}
};
}
})
},