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

场景是这样子的,页面在初始化时有一个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
, 刷新
, 随机数
, 微信浏览器
, reload
micromessenger
location.reload、js location.reload、location.reload 参数、location.reload 兼容、location.reload 一次,以便于您获取更多的相关知识。

时间: 2024-08-17 21:45:58

解决微信浏览器Javascript无法使用window.location.reload()刷新页面_javascript技巧的相关文章

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.hash 属性使用说明_javascript技巧

比如http://domain/#admin的location.hash="#admin".利用这个属性值可以做一个非常有意义的事情. 很多人都喜欢收藏网页,以便于以后的浏览.不过对于Ajax页面来说的话,一般用一个页面来处理所有的事务,也就是说,如果你浏览到一个Ajax页面里边有意思的内容,想将它收藏起来,可是地址只有一个呀,下次你打开这个地址,还是得像以往一样不断地去点击网页,找到你钟情的那个页面.另外的话,浏览器上的"前进""后退"按钮也会

js location.replace与location.reload的区别_javascript技巧

location.reload相当于我们按F5,页面在服务器端已经存在,isPostBack页面不会从服务器端重新生成,然后返回客户端 会在浏览器的历史浏览记录中增加一条记录 location.replace 页面会从服务器端重新创建,not ispostback,这个是用新的url代替原Url,把Histrory里面url也替换成了新的Url window.location.href,本层页面跳转 首先,定义一个iframe 复制代码 代码如下: <iframe method="post

javascript div 遮罩层封锁整个页面_javascript技巧

具体解决方案如下: 一.IE和FF下document.body对象的clientHeight,offsetHeight,scrollHeight属性的差别. clientHeight 在IE和FF下,该属性没什么差别,都是指浏览器的可视区域,即除去浏览器的那些工具栏状态栏剩下的页面展示空间的高度. offsetHeight 在IE下,offsetHeight也是浏览器可视区域的高(包括边线) 在FF下,offsetHeight是页面具体内容的高度 scrollHeight 在IE下,scroll

javascript实现图片上传前台页面_javascript技巧

这篇文章主要通过代码分析javascript实现图片上传前台页面,废话不多说了,直接贴代码了. 代码示例一: <script> //检查图片的格式是否正确,同时实现预览 function setImagePreview(obj, localImagId, imgObjPreview) { var array = new Array('gif', 'jpeg', 'png', 'jpg', 'bmp'); //可以上传的文件类型 if (obj.value == '') { $.messager

JavaScript实现强制重定向至HTTPS页面_javascript技巧

有时候需要把网页强制切换成HTTPS,即使用户已经访问了HTTP的版本.原因可能是你不想让用户使用HTTP来访问,因为它不安全.要做到这个很简单,如果不想用PHP或者Apache的mod_rewrite来做这件事,用Javascript也可以.代码如下: <script type="text/javascript"> var targetProtocol = "https:"; if (window.location.protocol != target

APP中javascript+css3实现下拉刷新效果_javascript技巧

原生app里的数据列表都会使用下拉刷新的效果,在webapp里可以采用iscroll.swiper等插件或框架实现,那么如何自己编码实现类似的效果呢,下面介绍使用原生js+css3实现的简单效果. html布局 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-

JavaScript中window.showModalDialog()用法详解_javascript技巧

今天在项目中用到了弹出子窗口,就想到了用JavaScript实现的两种方法,一个是window.open();一个是window.showModalDialog()方法,后者是存在父子关系的一种弹出窗口,只有子窗关闭,父窗口才激活,并且可以传送参数和返回值.正好又温习一遍用法,顺便在此记录过程中遇到的问题. 基本介绍: showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window.showModalDialog()方法用来

javascript onkeydown实现键盘快捷键控制页面_javascript技巧

IE only的鼠标左右键控制上一页下一页<script type="text/javascript"> <!-- var preview_page = "14671.html"; var next_page = "14675.html"; var index_page = "index.html"; var article_id = "305"; var chapter_id = &qu