解决安卓微信浏览器reload失效的问题

解决安卓微信浏览器中location.reload()刷新页面的问题

在移动wab中,经常会使用window.location.href去跳转页面,这个方法在绝大多数浏览器中都不会存在问题。但是在安卓手机微信自带浏览器中,这种使用时无效的。

  • 原因:初步判断为缓存问题。正常情况reload()后页面依然会向后台发出请求,但在安卓的微信浏览器中reoad后请求的一直是第一次打开页面时请求的数据,可以理解为请求被缓存了。
  • 解决方法:使用 window.location.href=window.location.href+随机数代替window.location.reload()
  • 比如: window.location.href = location.href+'?time='+((new Date()).getTime());

也可以只针对微信浏览器设置,通过window.navigator.userAgent进行判断,结果是,Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69 MicroMessenger/6.3.16。根据关键字 MicroMessenger 来判断是否是微信内置的浏览器。
判断函数:

function isWeiXin(){
 var ua = window.navigator.userAgent.toLowerCase();
 if(ua.match(/MicroMessenger/i) == 'micromessenger'){
  return true;
 }else{
  return false;
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值