解决微信浏览器Javascript无法使用window.location.reload()刷新页面
场景是这样子的,页面在初始化时有一个ajax请求,在页面上有一个按钮,点击的时候执行window.location.reload(),正常情况reload()后页面依然会向后台发出请求,但在安卓的微信浏览器中reoad后请求的一直是第一次打开页面时请求的数据。可以理解为请求被缓存了,但没有实测,也不知道是否是缓存。
解决方法是,使用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; } }
以上就是本文的全部内容,了解更多JavaScript的语法,大家可以查看:《JavaScript 参考教程》、《JavaScript代码风格指南》,也希望大家多多支持我们。
相关推荐
-
刷新页面实现方式总结(HTML,ASP,JS)
定时刷新: 1,<script>setTimeout("location.href='url'",2000)</script> 说明:url是要刷新的页面URL地址 2000是等待时间=2秒, 2,<meta name="Refresh" content="n;url"> 说明: n is the number of seconds to wait before loading the specified UR
-
JS在一定时间内跳转页面及各种刷新页面的实现方法
1.js 代码: <SCRIPT LANGUAGE="JavaScript"> var time = 5; //时间,秒 var timelong = 0; function diplaytime(){ //时间递减 document.all.his.innerHTML = time -timelong ; timelong ++; } function redirect(){ //跳转页 //history.back(); window.location.href=&qu
-
js局部刷新页面时间具体实现
复制代码 代码如下: <head> <title></title> <script type="text/javascript"> function GetTime() { var time = new Date(); var year = time.getFullYear(); var month = time.getMonth() + 1;
-
Javascript刷新页面的实例
Javascript刷新页面的实例 Javascript刷新页面的几种方法: 1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(location) 5 document.execCommand('Refresh') 6 window.navigate(location) 7 location.replace(location) 8 document.U
-
JS定时刷新页面及跳转页面的方法
Javascript 返回上一页1. Javascript 返回上一页 history.go(-1), 返回两个页面: history.go(-2);2. history.back().3. window.history.forward()返回下一页4. window.history.go(返回第几页,也可以使用访问过的URL)例: 复制代码 代码如下: <a href="javascript:history.go(-1);">向上一页</a>response.
-
javascript 强制刷新页面的实现代码
Javascript刷新页面的几种方法: 1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(location) 5 document.execCommand('Refresh') 6 window.navigate(location) 7 location.replace(location) 8 document.URL=location.href 自动刷新页面的方法: 1.页面自动刷新:把如下代码
-
js刷新页面方法大全
如何实现刷新当前页面呢?借助js你将无所不能. 1,reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页.true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新") 2,replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过"前
-
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
场景是这样子的,页面在初始化时有一个ajax请求,在页面上有一个按钮,点击的时候执行window.location.reload(),正常情况reload()后页面依然会向后台发出请求,但在安卓的微信浏览器中reoad后请求的一直是第一次打开页面时请求的数据.可以理解为请求被缓存了,但没有实测,也不知道是否是缓存. 解决方法是,使用window.location.href="window.location.href+随机数" 代替 window.location.reload().切记
-
window.location.reload 刷新使用分析(去对话框)
使用window.location.reload;刷新时,如果提交数据的动作,则会出现讨厌的对话框! 解决此问题,应该这样写: window.location.href=window.location.href; window.location.reload; 同理,如果是刷新父窗口,应该这样写: window.opener.location.href=window.opener.location.href; window.opener.location.reload(); 这种写法就不出现那讨
-
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
用window.location.reload()方法刷新页面时,有时浏览期会出现一个这样的弹出框, 解决办法是: 一: document.location.href = "${base}/rwfp/rwfpcontent" 用这种方法找到页面对应的Action的位置,这样做虽然页面刷新,但是刷新后数据会从第一页开始显示,并不是停留在原来的页面. 二: $("#yhsubmit").click() 这种方法跟分页相关,#yhsubmit为 复制代码 代码如下: &l
-
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
最近开发的微信公众号项目中(项目采用Vue + Vux 构建,站点部署在IIS8.5上),遇到个非常奇葩的问题,发布站点内容后,通过微信打开网址发现是空白页面(后来验证是微信浏览器缓存了入口文件-index.html,顾之前版本的index页面找不到对应的js,因为我们每次发布会将之前的版本放至另外的备份目录),但关闭网页再次去打开又是正常的.最初开发内部测试时该问题没有引起关注,因为开发人员大部分都是android的手机,后来测试发现,某些android机型不是必现此问题,但是苹果(IOS)机
-
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
项目类型:vue+vux+axios 刚开始,把Axios封装在了http.js文件里面,然后为了使用VUX的提示框消息,把拦截器直接写在了main.js里面.直接调用接口,一切正常. 然而因为返回值有统一的code错误代码提示,所以在拦截器里面加入了code的判断以便统一返回值.刚开始一切都是按照预期的结果来走的.就在一个夜黑风高的晚上,我头晕眼花的按F5手动刷新了一下页面,惊奇的发现拦截器失效了,并没有拦截外面的Coode Json代码层,而是直接把服务器的全部json数据劈头盖脸的砸在了我
-
微信小程序tabBar 返回tabBar不刷新页面
1.在一个项目中,遇到了这个场景:返回tabBar中的某个页面是需要保存数据,但是新进这个页面需要清除数据. 2.场景如下图:报修进入下一步,返回第一步时不能刷新页面(即保留页面数据),从其他tabBar进入报修页面时就需要清空可能已经填写的数据. 3.解决办法,在第二步页面做了一个本地存储变量,在第一步的页面判断这个变量进而确定是否是第二步页面返回. 其中,因为第一步有上传图片的操作,也会执行"onShow",因此在当前页面又新增了一个变量去判断onShow是否是上传图片引起的. 第
-
js刷新页面location.reload()用法详解
本文介绍了js刷新页面函数location.reload()的用法,有关js location.reload()函数的例子,有需要的朋友参考下. 在javascript编程中,多使用location.reload实现页面刷新. 例子: window.location.href=window.location.href; window.location.reload; 经测试,这两句在某些情况下可以代替location.reload(true); 而不会出现重试对话框达到刷新的效果 在js中实现刷
-
ios微信浏览器返回不刷新问题完美解决方法
开始用的表单提交,返回参数就丢失,换成url跳转,popstate监听 (注释部分)ios10测试始终有问题,继续搜,最后用pageshow,pagehide完美解决(另外说一句:珍爱生命,远离微信和ios) var wxback = { init :function(){ //隐藏微信分享按钮等 document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { WeixinJSBridge.call('hid
-
vue中解决微信html5原生ios虚拟键返回不刷新问题
问题描述: 做微信h5页面时,经过了微信授权才跳转到一级默认路由home.vue中,因此在home页面时在IOS中底部会出现虚拟的返回键,安卓上不会出现.且在IOS点击返回时会跳转到home空白页面不重新加载,但是在安卓机上点击返回键会重新加载. 实现功能: 解决IOS问题(在home页面点返回时路由还是在home页面,并完成重新加载) 分析: 需要在进入页面时加入监听,并在页面离开时移除监听.因为home页面是个滚动列表,所以我采用了keep-alive路由缓存,所以不能在created()和
-
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
今天检查自己用JQuery+AJAX+PHP做的网站后台登录检测,发现登陆成功后执行页面跳转函数这段JavaScript(JS)代码特效在IE和谷歌浏览器Chrome下都可以很好地执行,兼容性还不错.结果到了火狐(FireFox)浏览器下setTimeout这个JS内置函数不执行了,无效了,也没报错!打开FireBUG指望它能检测出JS的错误,结果没用...Javascript(JS)脚本代码在各浏览器下的兼容是一个很头疼的问题,经过一番调试和搜索,终于解决了setTimeout这个JS代码在火
随机推荐
- 六条比较有用的MySQL数据库操作的SQL语句小结
- Repeater的FooterTemplate显示某列总计思路与代码
- 深入探讨javascript函数式编程
- javascript 动态参数判空操作
- Python实现的密码强度检测器示例
- Python map和reduce函数用法示例
- PHP多文件上传实例
- javascript 改变字体大小方法集合 原创
- android webview 中localStorage无效的解决方法
- ASP也使用ORM,给ASP上所有的SQL注入画上句号
- 手机浏览器 后退按钮强制刷新页面方法总结
- python多线程扫描端口示例
- 数据库设计技巧[转]
- jQuery编写widget的一些技巧分享
- jquery DataTable实现前后台动态分页
- 超级SWF跟踪器-巧用LocalConnection的代码
- Android自定义View之组合控件实现类似电商app顶部栏
- CodeIgniter整合Smarty的方法详解
- PHP Ajax中文乱码问题解决方法
- Android开发笔记之:ListView刷新顺序的问题详解