Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular 7 service worker缓存音频文件导致safari上出现范围标头问题_Javascript_Angular_Caching_Audio_Service Worker - Fatal编程技术网

Javascript Angular 7 service worker缓存音频文件导致safari上出现范围标头问题

Javascript Angular 7 service worker缓存音频文件导致safari上出现范围标头问题,javascript,angular,caching,audio,service-worker,Javascript,Angular,Caching,Audio,Service Worker,在我的angular应用程序中,safari上任何新音频(此处为音频src)请求的范围请求标头都存在问题。从服务器请求音频时,音频文件的持续时间将正常返回。但是,当从服务人员请求音频时,它会将音频持续时间返回为无限 我有一个google,Safari显然有这个问题,它将缓存媒体文件的范围头设置为“bytes=0-1”,这就是问题所在,如下所示: 在angular中是否有方法拦截新音频(此处为音频src)请求并修改标头,或以某种方式从服务工作者缓存策略中排除任何媒体请求 我当前的服务人员配置如下

在我的angular应用程序中,safari上任何
新音频(此处为音频src)
请求的范围请求标头都存在问题。从服务器请求音频时,音频文件的持续时间将正常返回。但是,当从服务人员请求音频时,它会将音频持续时间返回为无限

我有一个google,Safari显然有这个问题,它将缓存媒体文件的范围头设置为“bytes=0-1”,这就是问题所在,如下所示:

在angular中是否有方法拦截
新音频(此处为音频src)
请求并修改标头,或以某种方式从服务工作者缓存策略中排除任何媒体请求

我当前的服务人员配置如下:

{
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app",
      "installMode": "prefetch",
      "resources": {
        "files": [
          "/assets/img/logo.png",
          "/assets/img/no-internet-icon.jpg",
          "/favicon.ico",
          "/index.html",
          "/*.css",
          "/*.js"
        ]
      }
    },
    {
      "name": "assets",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**"
        ]
      }
    }
  ]
}

也许您应该在音频响应的响应头中添加
内容范围


选中

也许您应该在音频响应的响应标题中添加
内容范围

检查