安卓微信浏览器location.reload()刷新无效
来源:互联网 发布:eagle软件官网 编辑:程序博客网 时间:2024/05/21 22:48
一、页面上有一个按钮,点击的是会执行window.location.reload(),正常情况reload()后会向后台发出请求,但在安卓的微信浏览器中reload后,通过fiddler抓包发现,并没有发送请求。应该是微信缓存的问题。
二、解决方法:最常用的方法,更新时间戳:window.location.href+随机数。写一个小函数,添加或更新链接后的时间戳。这里,第二个参数表示时间戳的key,不传参时,默认变量名为“t”。
function updateUrl(url,key) { var key = (key || 't') + '='; //默认是“t” var reg = new RegExp(key + '\\d+');//正则:t=1472286066028 var timestamp = +new Date(); if(url.indexOf(key)>-1)//有时间戳,直接更新 { return url.replace(reg, key + timestamp); } else //没有时间戳,加上时间戳 { if(url.indexOf('\?')>-1) { var urlArr = url.split('\?'); if(urlArr[1]) { return urlArr[0] + '?' + key + timestamp + '&' + urlArr[1]; } else { return urlArr[0] + '?' + key + timestamp; } } else { if(url.indexOf('#')>-1) { return url.split('#')[0]+'?'+key+timestamp+location.hash; } else { return url + '?' + key + timestamp; } } } }三、调用
window.location.href=updateUrl(window.location.href); //不传参,默认是“t”window.location.href=updateUrl(window.location.href,'v'); //传入自定义的变量名
四、第二种方法(针对php的情况,就是讲location.href指向一个新的链接,在新链接中再重定向本页面)
假设原页面链接是://xxx.xxx.com/xxx/index?fsid=1001039610100510,则location.href等于如下:
var url=location.href;
location.href='//xxx.xxx.com/xxx/update?curl='+encodeURIComponent(url);
在PHP中,function update()的处理如下
function again(){
$url=$this->input->get('curl');
header("Location:".$url);
}
经过fiddler抓包测试,只有第一次刷新时有效,再次刷新,安卓微信浏览器仍然会缓存,所以还是更改时间戳最有效,这也是解决缓存最常用的方法。
0 0
- 安卓微信浏览器location.reload()刷新无效
- 解决安卓微信浏览器中location.reload 或者 location.href失效的问题 自动刷新
- Android微信浏览器Location.reLoad()无效的解决方案
- window.location.reload;刷新
- window.location.reload;刷新
- location.reload()页面刷新
- 微信浏览器无法使用window.location.reload()刷新页面
- location.reload();刷新 当前 页面
- js刷新;window.location.reload;窗口刷新
- 关于window.location.reload在IE浏览器中不刷新的问题
- 解决微信端浏览器使用window.location.reload()刷新页面不生效
- 解决微信浏览器Javascript无法使用window.location.reload()刷新页面
- window.location.reload()刷新当前页面.
- js 页面刷新location.reload…
- js 刷新页面window.location.reload();
- js 刷新页面window.location.reload();
- js 刷新页面window.location.reload();
- js 刷新页面window.location.reload()
- 关于Intellij Idea中git的技巧
- Notes of Py for informatics 2
- I,P,B帧和PTS,DTS的关系
- transient
- Redis数据类型及使用场景
- 安卓微信浏览器location.reload()刷新无效
- 汇编学习笔记(一)
- 学习笔记之低功耗蓝牙开发
- 读取文件方法大全
- poj1493
- 使用TinyXml库值得注意的几个地方
- JAVA线程控制
- web前端开发培训之前端开发必会的二十五个知识点
- 经纬度坐标转换