解决微信浏览器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 相关文章推荐
一段效率很高的for循环语句使用方法
Aug 13 Javascript
Javascript 对象的解释
Nov 24 Javascript
javascript日期转换 时间戳转日期格式
Nov 05 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
Feb 03 Javascript
json数据与字符串的相互转化示例
Sep 18 Javascript
学习JavaScript设计模式(代理模式)
Dec 03 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
Apr 19 Javascript
jQuery点击其他地方时菜单消失的实现方法
Apr 22 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
Sep 23 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
Sep 20 Javascript
Vue二次封装axios为插件使用详解
May 21 Javascript
JavaScript引用类型Date常见用法实例分析
Aug 08 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
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
使用递归遍历对象获得value值的实现方法
2016/06/14 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
JS中比较两个Object数组是否相等方法实例
2019/11/11 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
Python 解析XML文件
2009/04/15 Python
编写Python CGI脚本的教程
2015/06/29 Python
Python根据区号生成手机号码的方法
2015/07/08 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
python中append实例用法总结
2019/07/30 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
Python hashlib模块的使用示例
2020/10/09 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
怎样声明子类
2013/07/02 面试题
组织关系转移介绍信
2014/01/16 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
Python中使用Opencv开发停车位计数器功能
2022/04/04 Python
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫
JS轻量级函数式编程实现XDM二
2022/06/16 Javascript