原因分析;
经常会使用window.location.href去跳转页面,这个方法在绝大多数浏览器中都不会存在问题,在安卓手机的微信自带浏览器中,这个是失效的,并没有跳转;
代码为:
window.location.reload()
href是location对象的一个属性,reload()则是location对象的方法,所以对于href,可以为该属性设置新的 URL,使浏览器读取并显示新的 URL 的内容。对于reload()则是重新加载当前文档,如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。但对于安卓手机微信中的浏览器,reload只是从缓存中装载文档,所以当你使用该方法,是失效的;
解决办法;
就是使用location.href代替reload(),建议大家使用location.href来进行刷新或者跳转
方法一;
window.location.href=window.location.href+"?id="+10000*Math.random();
方法二;
window.location.href = location.href+'?time='+((new Date()).getTime());
在后面追加一个随机数或者随机时间,保证每次请求不重复;
个人理解有限,更深层次的没有做进一步的研究,欢迎指正。