admin 管理员组文章数量: 887019
一、添加版本号
请求同一个页面的时候,如果url后面的参数不一样,则不会调用微信缓存中的html页面,由此可以解决html页面的缓存问题。例如加个版本号或时间戳
a,传统的文件名后带参数的方式: index.js?v=20170705;
b,现在多用的md5文件名的方式: index-8a769sh7f9d.js;
1 |
www.xxx/home.html?v=1.0
|
window.location.href=
"new.html?version=1.1.1"
<script type=
"text/javascript"
src=
"js/page_style_js/jquery.toTop.js?version=1.1.1"
></script>
<link rel=
"stylesheet"
href=
"css/article/article.css?version=1.1.1"
/>
|
二、HTML文件的头部(head)处加上一些meta
以上工作完成之后,我们解决了html的缓存问题,但是通过访问nginx(或是其他工具)的日志发现,虽然带上了不同的参数,html确实不会缓存了,但是却没有js和css文件的请求。
猜测在这里,微信发现我们所请求的js和css文件在他的缓存里面有了,所以就直接打开缓存中的文件返回给了页面上。(所以这就坑爹了啊!!)
所以我们要在html文件的头部(head)处加上一些meta:
1 2 3 |
<
meta
http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<
meta
http-equiv="Pragma" content="no-cache" />
<
meta
http-equiv="Expires" content="0" />
|
ps,网上很多答案都提供了添加在head处的meta,但是有的人说没有用。目测是因为meta只能保障js和css等资源不会被缓存,但是无法保障html不被缓存。所以,要和url参数方法于meta方法一起使用,才能保障毫无侧漏!
三、修改静态资源文件名
第二个,就来说说缓存吧,我也在网上查了下,很多方法可谓是大动干戈,有一些去专门的网站清除微信X5内核的缓存,还有一些简单粗暴的直接清理App数据的,这些都管用。但是,用户不是开发者,我们为了看到效果,可以这样做,但不可能让用户去做这些麻烦的操作。我们只能从后台去改变。
解决办法:研究了一下缓存之后发现,其缓存都是根据索引来缓存的,也就是说根据你图片资源的文件名来缓存。那么基于这个原理,我们就可以在后台把图片名字全部改了,比如你以前叫 img.jpg,现在改成 img1.jpg,当然要同时记得改html代码里的索引。
这样一来,根本不需要刷新了,再从微信里看,它找不到之前的索引了,就不得不根据html文件去更新资源,所以图片也就随之更新了,然而这个过程对用户来说不需要任何操作,岂不是很好?
四、手动清理缓存
1,android:
debugx5.qq,这是微信x5内核浏览器的debug调试页面,在微信浏览器打开,拉到页面最底部,有清理缓存的选项。然而并不是所有安卓手机都能打开这个链接,比如我们遇到的zuk手机就不能打开,这也让我无能为力;可以尝试ios的方式清除。
2, ios:
a. 取关公众号,重新关注;
b. 退出微信账号登陆,重新登陆微信;
c. 微信设置-通用-存储-清理缓存;
d. 进入页面,右上角‘...’选项中点击“刷新”;
这四种方式,在各种版本各种iphone以及各种微信版本中,都不保证能生效;有的用单一一种方式就能清除,有的需要组合方式,反正你就各种尝试组合上述方式吧,就能清除缓存了。 Android或IOS强退进程
五、后台处理
1. 设置nginx的缓存机制; 直接将nginx的缓存设置成{expires-1;},设置成永远不缓存; 如果没有nginx,其他apache什么的通用这个方法。2. response设置禁止缓存
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("expires", -1);
后续有更多方法会不断补充!!
版权声明:本文标题:微信浏览器取消缓存方法大全 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729173886h1327020.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论