微信缓存控制

  • 微信浏览器使用的是QQ浏览器X5内核,而非系统内核
  • 微信不是开源软件,具体的缓存逻辑不清楚,而且各个版本不同,只能猜测
  • 所以导致了各种技术解决方案都没有一劳永逸解决问题的(说不定哪天又变了呢)
  • 疑似微信在webview的上层自行实现了一套缓存逻辑,不懂anroid/ios不知道详细逻辑
  • 微信并不是网上所说只缓存部分文件,而是html,css,js,图片文件都有可能被缓存
  • 可以将应用版本号展示在页面上,方便用户报障时定位是否为缓存问题

可能有用(指针对某些版本的微信起作用)的解决方案:

  1. 添加manifest
<html manifest="NOTEXIST.manifest">

根据HTML5 W3C规范,解析器下载manifest header 404/410时,缓存即失效( 参见 "5.7.4 Downloading or updating an application cache > 5.If fetching the manifest fails due to a 404 or 410")

  1. head中添加
<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" />
  1. 请求时添加随机参数,如时间戳等

作为用户

  1. 使用微信提供的刷新功能
  2. 取消关注公众号,然后重新关注
  3. 退出微信(指注销账号)重新登录
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容