【问题标题】:How to cache service worker source file at least for 24hour如何缓存服务工作者源文件至少 24 小时
【发布时间】:2018-09-06 14:56:44
【问题描述】:

是否有可能将 Service Worker 源文件缓存至少 24 小时?我试过提供缓存控制:public,max-age=1440。但它不起作用。

此外,如果页面包含 iframe,并且您单独重新加载该 iframe,则会从服务器下载 sw.js(服务工作者脚本)。

知道为什么会这样吗?如何避免这种情况?

【问题讨论】:

    标签: caching browser-cache service-worker cache-control service-worker-events


    【解决方案1】:

    您所看到的是由于“Fresher service workers, by default”中描述的行为。

    特别是,如果您想选择使用 HTTP 缓存来满足您的 Service Worker 请求(最多 24 小时;之后,它们将始终与网络冲突),您可以使用如下代码:

    if ('serviceWorker' in navigator) {
      navigator.serviceWorker.register('/sw.js', {
        updateViaCache: 'all',
      });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 2018-09-06
      • 2019-05-06
      • 1970-01-01
      相关资源
      最近更新 更多