微信浏览器取消缓存的方法
来源:互联网 发布:sql update 多个where 编辑:程序博客网 时间:2024/05/18 15:51
做微信公众号和调试手机页面的时候,避免不了页面要跳转到微信浏览器打开,调试阶段,android版微信浏览器一直都默认缓存html静态资源,每次静态资源变化甚至新内容发布的时候在微信浏览器上都极有可能不能更新,很多时候要清理微信缓存才能看到效果,很是烦人。部分客户装了QQ浏览器,微信实际调用的是QQ浏览器,有时候甚至光清理微信缓存都无效,QQ浏览器的缓存也要清。
经过一番探索微信浏览器确实是在webview的上层做的缓存:就是如果请求过了这个地址,就会存在本地,之后不取线上了。
解决方案:
一、通过url参数避免html文件缓存
请求同一个页面的时候,如果url后面的参数不一样,则不会调用微信缓存中的html页面,由此可以解决html页面的缓存问题。例如加个版本号或时间戳
1
www.xxx.com/home.html?v=1.0
二、避免css和js的缓存
以上工作完成之后,我们解决了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方法一起使用,才能保障毫无侧漏!
阅读全文
0 0
- 微信浏览器取消缓存的方法
- 微信浏览器取消缓存的方法
- 微信浏览器取消缓存的方法
- 微信浏览器取消缓存的方法
- 微信浏览器取消缓存的方法
- 微信浏览器取消缓存的方法
- 微信浏览器取消缓存--调试用
- 微信浏览器清除缓存的方法
- 微信内置浏览器缓存清理方法
- 微信浏览器缓存
- 微信浏览器缓存
- 微信浏览器缓存问题
- 清理微信浏览器缓存
- 微信浏览器缓存问题
- 清除微信浏览器缓存
- 清除微信浏览器缓存
- 微信浏览器缓存问题
- 微信浏览器缓存问题
- sql数据库操作2
- 小小Java面试题(二)
- Git 的origin和master解析
- vue 路由页面之间如何用手指进行滑动
- Java IO
- 微信浏览器取消缓存的方法
- 静态库和动态库的制作(OC、Swift)
- 关于support-annotations库中的注解RequiresApi和Google官方文档
- 大量 D3.js 示例
- 数据库:索引
- 【LeetCode算法练习(C语言)】Add Two Numbers
- 【SQL Server学习笔记】6:更新/删除/导出/导入数据
- 使用moment.js轻松管理日期和时间
- HDU 1698 Just a Hook(线段树:区间更新,区间查询)