在开发微信网页的过程中需要调试页面,涉及到HTML,CSS,JS等文件的修改
但是微信在第一次获取这些数据的时候如果没有明确的在HTTP头中设置缓存信息,微信会自动缓存这些东西
即使重新关注公众号,这些缓存仍起作用,给调试造成很大的不便
对于HTML页面,我们可以在HTML页面上加meta标签禁用缓存
<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" />
对于CSS和JS文件,没有meta可以设置,我们可以在IIS中设置http信息头让微信禁用缓存
Cache-Control | no-cache, no-store, must-revalidate |
Expires | 0 |
Pragma | no-cache |
如果微信已经缓存,这样做就没有作用,就需要对文件加载设置版本号。
h5很多都是静态资源,有些链接都是通过后台配的所以加版本号变得操作异常繁琐,解决起来也是摒弃了一些逻辑。不过值得欣慰的是,这个令人头皮发麻的问题得以解决!因此,不常更新的静态内容只需要在更新的时候换个版本号即可,不需要每次调用都生成新版本号。
版本号有两种:
- 常见的是文件名传参,例如: demo.css?v=1535549856;
- 建议使用md5文件名的方式: demo-9bee5121379679ec.css;
为啥用第二种,因为微信访问的时候有些场景可能会把参数或者参数值直接给忽略
评论
本文评论功能已关闭。