问题:最近在写微信的网页,发现这微信的缓存真坑,很久的内容,居然一直缓存着不更新,但是微信的缓存是为了提高自身的性能,我们这些开发要用人家的平台,只有自己去填坑了。
解决:
1.设置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" />
2.加版本号,每次发布完成后更新
版本号有两种方式:
a,传统的文件名后带参数的方式: index.js?v=20170705;
b,现在多用的md5文件名的方式: index-8a769sh7f9d.js;
查阅权衡之后,决定选择后一种方式。最终也证明这个决定的正确,因为微信对于第一种方式,可能会直接忽略后面的hash值……
3.服务器设置成永远不缓存
设置nginx的缓存机制;直接将nginx的缓存设置成{expires-1;},设置成永远不缓存;如果没有nginx,其他apache什么的通用这个方法。