Dav*_*lsh 2 javascript single-page-application progressive-web-apps
我有一个单页应用程序,需要客户端使用最新版本。缓存是积极的,因此等待它们失效是不可行的。
有没有一种方法可以告诉客户端查看某个资源(比如 build.txt),如果该资源包含的内部版本号大于当前加载的版本号,则使缓存无效并刷新?
由于这个问题已被标记为,progressive-web-apps
我将假设它正在安装一个服务工作者,这就是积极缓存资源的原因。
这篇文章虽然显示了 PWA 的“新版本可用”弹出窗口 - 即使这不是您想要的特定行为,但它解释了很多有关服务工作人员如何更新的信息。
这个问题/答案还讨论了检查服务工作人员更新的频率。
这个问题/答案讨论了始终使用skipWaiting
以使客户立即了解最新情况的优点/缺点。
编辑:如果您只是处理常规 HTTP 缓存,请在检测到服务器上有更新版本时尝试使用location.reload(true)
(重新加载设置的标志)。forcedReload
过去,我通过在构建/发布时将版本号放入 js 代码中,并让服务器将其版本号作为标头添加到每个响应中来完成此操作。在 ajax 调用后对值进行简单比较可以确认 ui 和服务器版本号是否匹配,并在不匹配时采取措施。
归档时间: |
|
查看次数: |
7417 次 |
最近记录: |