0

我有一个带有服务工作者设置的 Angular 7 应用程序。但我只是注意到,当我尝试在我的网站上打开 PDF 链接时,它们不起作用。

但是,如果我打开开发人员控制台 > 应用程序并单击绕过网络它工作正常,如果我禁用服务工作者它也工作正常。

这是我的ngsw-config.json文件。

{
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app-shell",
      "installMode": "prefetch",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/index.html",
          "/manifest.json",
          "/ngsw-worker.js",
          "/scripts*.js",
          "/main*.js",
          "/polyfills*.js",
          "/runtime*.js",
          "/common*.js",
          "/*.css"
        ]
      }
    }, {
      "name": "assets-lazy",
      "installMode": "lazy",
      "updateMode": "lazy",
      "resources": {
        "files": [
          "/images/logo_red_white.svg",
          "/logo.png",
          "/assets/icons/**",
          "/*.js"
        ]
      }
    }
  ]
}

当我查看开发人员工具上的网络选项卡时,我可以看到 PDF 正在从服务人员加载。

有什么办法可以告诉服务人员忽略 PDF 文件?

4

1 回答 1

1

为什么不缓存 PDF 文件。这样,服务人员就不会对公共文件有不当行为,您可以在页面上使用 PDF 文件而不会有任何麻烦。要缓存 PDF 文件,请使用与存储或缓存图像相同的技术。

有关更多信息,您可以参考此 google 链接。

https://developers.google.com/web/ilt/pwa/lab-caching-files-with-service-worker

于 2018-12-28T06:26:02.113 回答