场景是这样子的,页面在初始化时有一个ajax请求,在页面上有一个按钮,点击的时候执行window.location.reload(),正常状况reload()后页面依然会向后台发出请求,但在安卓的微信浏览器中reoad后请求的一直是第一次打开页面时请求的数据。能够理解为请求被缓存了,但没有实测,也不知道是不是缓存。ajax
解决方法是,使用window.location.href="window.location.href+随机数" 代替 window.location.reload()。切记,必定要加随机数,不然同样不会起做用。固然也能够用一个a标签,而后设置href="window.location.href + 随机数"。浏览器
再进一步的话能够只针对微信浏览器做此设置,那么就得判断是否微信浏览器。能够经过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; } }