【发布时间】:2017-02-28 09:53:32
【问题描述】:
在部署到 Firebase 后,如何强制客户端计算机清除 Service Worker 缓存?客户在刷新页面时仍然得到旧代码
【问题讨论】:
标签: javascript firebase service-worker progressive-web-apps
在部署到 Firebase 后,如何强制客户端计算机清除 Service Worker 缓存?客户在刷新页面时仍然得到旧代码
【问题讨论】:
标签: javascript firebase service-worker progressive-web-apps
我相信你的问题是服务工作者已经缓存了你的页面的 index.html 并且当后台实际上有一个新的可用时,客户端正在从缓存中获得它。客户端总是得到旧的 index.html,它指向旧的 JS、CSS 等。
你基本上有两种选择:
如果您的 service-worker.js 列出了所有应该缓存的文件,只需简单地更新您的 service-worker.js 和 缓存名称强>。浏览器在看到更改时会自动更新 SW。它们会自动检查是否存在单字节变化。
如果您的 SW 动态缓存文件并在下次请求它们时从缓存中返回它们,您应该在每次从缓存中提供内容时以编程方式检查更新.你可以在这里找到代码示例:https://serviceworke.rs/strategy-cache-and-update_service-worker_doc.html
【讨论】: