企业微信会缓存多个版本的js资源吗?

项目做了功能升级,但是发现部分用户还是没升级成功(绝大多数是企业微信),于是又升级了版本加了埋点。
现在发现还是有用户访问的是以前的资源,而且比较奇怪的是同一个用户UA一样时间点也临近,就是反复进到这个页面,有时候访问的是新资源(加埋点的),有的时候访问的是老资源(没加埋点)

请问下这是因为企业微信缓存了多个js资源每次进入页面加载的资源不一样导致的吗?如果是这样的话,怎么解决呢?

备注:
我们的js资源过期时间是两个月image.png
老的资源已经远超两个月了按理说早就应该过期了啊

阅读 761
1 个回答

微信内置的浏览器我记得是强缓存的,并不走协商缓存。第一次进入时会读取本地缓存,用户点击菜单中的刷新才会请求新的文件。

反正蛮蠢的,社区大量吐槽还是这样(起码得有四年了)……

如果不是超大的项目,可以简单粗暴点直接给前端的HTTP服务整个设置 expires -1
但是用户本地已经有缓存了好像得用户清理一次本地缓存才行?(不是很确定)


当然最理想状态下是 index.html 设置 expires -1,然后静态资源名添加 content-hash 值后开启缓存。

如果改动比较大就还是直接设置都不缓存,后面再慢慢优化……

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏