Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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 缓存数据量不为';不算_Javascript_Caching_Service Worker_Workbox - Fatal编程技术网

Javascript 缓存数据量不为';不算

Javascript 缓存数据量不为';不算,javascript,caching,service-worker,workbox,Javascript,Caching,Service Worker,Workbox,我认为缓存的内容与chrome开发工具告诉我缓存了多少数据之间似乎存在着巨大的差异 我尝试使用workbox缓存来自firebase存储的图像,以及使用缓存API和拦截获取请求的普通服务人员代码。然而,无论我做什么,我总是以这样的事情结束。我的服务工作者代码基本上是从用于缓存的workbox文档中删除的(尽管结果与vanilla JS相同) 老实说,我开始觉得Chrome开发工具是错误的,尽管这似乎不太可能。然而,我真的无法理解这样一个事实:它显示了100MB的存储数据,而实际上它看起来不到10

我认为缓存的内容与chrome开发工具告诉我缓存了多少数据之间似乎存在着巨大的差异

我尝试使用workbox缓存来自firebase存储的图像,以及使用缓存API和拦截获取请求的普通服务人员代码。然而,无论我做什么,我总是以这样的事情结束。我的服务工作者代码基本上是从用于缓存的workbox文档中删除的(尽管结果与vanilla JS相同)

老实说,我开始觉得Chrome开发工具是错误的,尽管这似乎不太可能。然而,我真的无法理解这样一个事实:它显示了100MB的存储数据,而实际上它看起来不到100KB。我是做错了什么,还是Chrome开发工具让我很烦恼?

这是出于设计

当您缓存来自其他域的资产时,软件会将其作为不透明响应处理。不透明的响应限制了响应中的某些信息,并通过将其伪造为7兆左右来隐藏实际大小


看看这个

谢谢。我终于设法弄明白了。通过添加“new workbox.cacheableResponse.Plugin({statuses:[02000]})”解决了这个问题
workbox.routing.registerRoute(
/.*firebasestorage.googleapis.com.*\/chaptail.appspot.com.*\/Users.*media&token/,
  new workbox.strategies.CacheFirst({
    cacheName: 'image-cache',
    plugins: [
      new workbox.expiration.Plugin({
        maxEntries: 300,
        maxAgeSeconds: 365* 24 * 60 * 60,
      })
    ],
  })
);