Javascript 缓存数据量不为';不算
我认为缓存的内容与chrome开发工具告诉我缓存了多少数据之间似乎存在着巨大的差异 我尝试使用workbox缓存来自firebase存储的图像,以及使用缓存API和拦截获取请求的普通服务人员代码。然而,无论我做什么,我总是以这样的事情结束。我的服务工作者代码基本上是从用于缓存的workbox文档中删除的(尽管结果与vanilla JS相同) 老实说,我开始觉得Chrome开发工具是错误的,尽管这似乎不太可能。然而,我真的无法理解这样一个事实:它显示了100MB的存储数据,而实际上它看起来不到100KB。我是做错了什么,还是Chrome开发工具让我很烦恼?这是出于设计 当您缓存来自其他域的资产时,软件会将其作为不透明响应处理。不透明的响应限制了响应中的某些信息,并通过将其伪造为7兆左右来隐藏实际大小Javascript 缓存数据量不为';不算,javascript,caching,service-worker,workbox,Javascript,Caching,Service Worker,Workbox,我认为缓存的内容与chrome开发工具告诉我缓存了多少数据之间似乎存在着巨大的差异 我尝试使用workbox缓存来自firebase存储的图像,以及使用缓存API和拦截获取请求的普通服务人员代码。然而,无论我做什么,我总是以这样的事情结束。我的服务工作者代码基本上是从用于缓存的workbox文档中删除的(尽管结果与vanilla JS相同) 老实说,我开始觉得Chrome开发工具是错误的,尽管这似乎不太可能。然而,我真的无法理解这样一个事实:它显示了100MB的存储数据,而实际上它看起来不到10
看看这个谢谢。我终于设法弄明白了。通过添加“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,
})
],
})
);