缓存这个问题的出现,真真切切的感受到微信浏览器这鬼东西对前端程序员充满了恶意,捋捋自己的发型,甚是恐慌(顿时有种想转php的冲动,有木有)。
解决方案:
出现缓存问题导致用户出现很多车祸现场(还和java叼起来了),因为是上线了的项目,为了不破环生产环境,让客服暂时教用户解决微信缓存问题。
手动清理缓存
微信浏览器在ios和安卓中浏览器内核不一样;从而不同的系统和不同版本的微信方式也各有不同。清理缓存的方式也就各种不一样的:
android:访问网页debugx5.qq.com,这是微信x5内核浏览器的debug调试页面,在微信浏览器打开,拉到页面最底部,有清理缓存的选项。
安卓微信x5内核浏览器debug页面
ios:
1、 取关公众号,重新关注;
2.、 退出微信账号登陆,重新登陆微信;
3、 微信设置-通用-存储-清理缓存;
4.、 进入页面,右上角‘...’选项中点击“刷新”
自动清理缓存
h5页面设置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" />
一般浏览器还有用,碰到wx,并没有鸟用
文件加载设置版本号
h5很多都是静态资源,有些链接都是通过后台配的所以加版本号变得操作异常繁琐,解决起来也是摒弃了一些逻辑。不过值得欣慰的是,这个令人头皮发麻的问题得以解决!
版本号有两种:
常见的是文件名传参,例如: demo.css?v=1535549856;
建议使用md5文件名的方式: demo-9bee5121379679ec.css;
为啥用第二种,因为微信访问的时候有些场景可能会把参数或者参数值直接给忽略
总结:
还是回归现实(天气冷了,还想多买几件格子衫)。
文章源自 设计联盟 www.DesignLinks.cn 中国最具影响力的创意设计综合网站