解决微信浏览器Javascript无法使用window.location.reload()刷新页面


Posted in Javascript onJune 21, 2016

场景是这样子的,页面在初始化时有一个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代码风格指南》,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JAVASCRIPT 对象的创建与使用
Mar 09 Javascript
jQuery基础框架浅入剖析
Dec 27 Javascript
JavaScript实现数字数组按照倒序排列的方法
Apr 06 Javascript
javascript中indexOf技术详解
May 07 Javascript
jQuery实用技巧必备(下)
Nov 03 Javascript
JS组件Bootstrap导航条使用方法详解
Apr 29 Javascript
第一次动手实现bootstrap table分页效果
Sep 22 Javascript
使用JavaScript实现alert的实例代码
Jul 06 Javascript
node文件批量重命名的方法示例
Oct 23 Javascript
基于jquery实现五星好评
Nov 18 jQuery
详解webpack 热更新优化
Sep 13 Javascript
微信小程序实现发微博功能的示例代码
Jun 24 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
Jun 21 #Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
Jun 21 #Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
Jun 21 #Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
Jun 21 #Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
Jun 21 #Javascript
带有定位当前位置的百度地图前端web api实例代码
Jun 21 #Javascript
jQuery中的ready函数与window.onload谁先执行
Jun 21 #Javascript
You might like
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
JQuery基础语法小结
2015/02/27 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
Python基础入门之seed()方法的使用
2015/05/15 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
会话Bean的种类
2013/11/07 面试题
应聘面试自我评价
2014/01/24 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle
Nginx配置https的实现
2021/11/27 Servers
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android