解决微信浏览器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页面不刷新时全选择,全删除(GridView)
Apr 14 Javascript
jquery检测input checked 控件是否被选中的方法
Mar 26 Javascript
Jquery方式获取iframe页面中的 Dom元素
May 07 Javascript
JavaScript中的异常捕捉介绍
Dec 31 Javascript
javascript基于prototype实现类似OOP继承的方法
Dec 16 Javascript
浅析Javascript中bind()方法的使用与实现
Apr 29 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
Dec 31 Javascript
详解webpack介绍&安装&常用命令
Jun 29 Javascript
Angularjs cookie 操作实例详解
Sep 27 Javascript
jQuery实现的简单对话框拖动功能示例
Jun 05 jQuery
vue自动化路由的实现代码
Sep 30 Javascript
Node.js API详解之 net模块实例分析
May 18 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
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
php面向对象中static静态属性与方法的内存位置分析
2015/02/08 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
php 浮点数比较方法详解
2017/05/05 PHP
JavaScript 高效运行代码分析
2010/03/18 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
vue中的scope使用详解
2017/10/29 Javascript
JavaScript静态作用域和动态作用域实例详解
2019/06/17 Javascript
微信小程序实现pdf、word等格式文件上传的方法
2019/09/10 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
node.js通过url读取文件
2020/10/16 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
Python with用法:自动关闭文件进程
2019/07/10 Python
Python3 assert断言实现原理解析
2020/03/02 Python
如何基于windows实现python定时爬虫
2020/05/01 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
详解Python 函数参数的拆解
2020/09/02 Python
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
酒店保洁主管岗位职责
2013/11/28 职场文书
人力资源主管岗位职责
2014/01/29 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
2014年团工作总结
2014/11/27 职场文书
少年雷锋观后感
2015/06/10 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书