代码之家  ›  专栏  ›  技术社区  ›  Ennio

如何防止Angular Service缓存PDF文件?

  •  0
  • Ennio  · 技术社区  · 5 年前

    我有一个带有服务人员设置的Angular7应用程序。但我只是注意到,当我试图在我的网站上打开一个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文件吗?

    1 回复  |  直到 5 年前
        1
  •  1
  •   Amit Gandole    5 年前

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

    有关更多信息,请参阅此Google链接。

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

    推荐文章