【问题标题】:Why doesn’t my service worker store all the items during the “installation” event?为什么我的 Service Worker 没有在“安装”事件期间存储所有项目?
【发布时间】:2020-07-04 08:41:50
【问题描述】:

这是我的 Service Worker 用于“安装”事件的代码:

const CACHE_NAME = "static3";

self.addEventListener("install", function (event) {
   event.waitUntil(
      caches.open(CACHE_NAME).then(function (cache) {
         cache.addAll([
            "/",
            "/blog/",
            "/links/",
            "/about/",
            "/contact/",
            "/privacyPolicy/",
            "/offline/",
            "/css/CP.ttf",
            "/css/CPItalic.ttf",
            "/css/WS.ttf",
            "/css/WSItalic.tff",
            "/css/style.css",
            "/css/typography.css"
         ]);
      })
   );
});

我尝试了几次,但 service worker 并没有将所有项目都存储在缓存中。这是谷歌浏览器“应用程序”标签的截图:

为什么只有一些项目存储在缓存中?请记住,其他文件的所有路径都是正确的。

【问题讨论】:

    标签: javascript caching dom-events service-worker browser-cache


    【解决方案1】:

    我发现了错误。如您所见,我不小心写了"/css/WSItalic.tff" 而不是"/css/WSItalic.ttf"。这导致“安装”事件拒绝所有项目,因为它会存储它们,除非路径中甚至有一个错误。因此,“安装”事件拒绝了要存储在缓存中的文件,并且只存储了来自我正在查看的页面的获取请求。

    【讨论】:

      猜你喜欢
      • 2022-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 1970-01-01
      • 2016-10-28
      • 1970-01-01
      • 2017-05-29
      相关资源
      最近更新 更多