【问题标题】:How to prevent Angular service worker to cache PDF file?如何防止 Angular 服务人员缓存 PDF 文件?
【发布时间】:2018-12-27 21:36:39
【问题描述】:

我有一个带有 Service Worker 设置的 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 正在从 service worker 加载。

我可以告诉服务人员忽略 PDF 文件吗?

【问题讨论】:

    标签: angular progressive-web-apps angular-pwa


    【解决方案1】:

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

    更多内容可以参考这个谷歌链接。

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

    【讨论】:

    • 我会让service worker缓存PDF试一试。
    • 感谢您的链接。我将 PDF 添加到服务人员,它工作正常。
    猜你喜欢
    • 1970-01-01
    • 2012-08-23
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多