前端发布新版本的是,如何在用户的手机上自动更新版本?

最近公司官网需要发布新版本,而且是卡时间点上线,
现在需要的是在时间到的时候更新版本上去,而用户进入时不会获取缓存,读取老版本的官网,
这应该怎么操作呢?


补充一下 目前是原生的html, 入口文件是index.html ,现在是在index.html加mate,

  <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
  <meta http-equiv="Cache" content="no-cache">
  <meta http-equiv="Pragma" content="no-cache" />

阅读 2.1k
3 个回答

设置缓存什么的,不同浏览器不同用户设置可能有的生效有的不生效。反正我感觉这玩意不太靠谱

我目前的项目方案是打包的时候生成时间戳放到 version.txt里面,同时把这个时间戳设置到页面的版本变量里。
页面在不同时机(每10分钟;每次刷新;每次切换tab)的时候去请求version.txt?v=currentTime去拉去最新的version.txt 并且和本页面里面版本变量做比较,不同就立刻更新。

如果需要立即更新,可以这样:

  • 给 html 文件设置无缓存,在 web 服务器(如 nginx)配置:no-store, max-age=0
  • js 等其他资源用 hash 值,html 文件更新后,里面引用的就是新 hash 值的 js 等文件,这样就即缓存了资源文件,又可以达到立即更新目的

给你一个变态的方法,先更新一个老版本,判断时间过期就强刷页面。

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