我正在使用新的CacheStorage api,并希望有一个小任务来清理超出特定(生存时间)的旧缓存条目。
在Chrome ->应用选项卡中,我看到了一个“缓存时间”列,但是无法通过api检索它。
const cache = await caches.open(`my-cache`);
const response = await cache.match(new Request(`https://someurl`))
console(response.cachedTime) <- // doesn't exist我尝试通过日期头获取它,但这只适用于非cors请求。devtools以某种方式跟踪所有请求。是否有办法通过CacheStorage api动态地获取这些信息?
// this is not a bullet proof method
// doesn't work for cors or if response doesn't send a Date header
console.log(response.headers.get(`date`));我试着扔掉所有的回复并检查它,但我没有发现任何有用的东西。
发布于 2022-12-01 13:22:35
我做了大量的研究,但没有发现任何结论。
最后,我检查了Date响应头(由大多数API返回),以了解该资源的使用时间。
如果缺少Date响应头,我只是不缓存响应并在控制台中打印警告。
注意,由于CORS配置,API可以返回不可访问的Date头(请查看Access-Control-Expose-Headers响应头以了解更多信息)。
https://stackoverflow.com/questions/57730731
复制相似问题