gpt4 book ai didi

service-worker - 为什么服务 worker 缓存所有图像?

转载 作者:行者123 更新时间:2023-12-04 17:38:42 27 4
gpt4 key购买 nike

我只是在测试 Service Worker 的功能以了解其工作原理。所以现在我遇到了一个问题。

var CACHE_NAME = 'my-site-cache-v1';
var urlsToCache = [
'/img/map.jpg',
'/img/chicago.jpg',
];

self.addEventListener('install', function(event) {
// Perform install steps
event.waitUntil(
caches.open(CACHE_NAME)
.then(function(cache) {
console.log('Opened cache');
return cache.addAll(urlsToCache);
})
);
});

self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
.then(function(response) {
// Cache hit - return response
if (response) {
return response;
}
return fetch(event.request);
}
)
);
});

这些是我用来缓存两张图片的代码,但显然服务人员缓存了所有图片,以及一些 css 和 javascript(我在网络选项卡中选中了禁用缓存)下图显示了 img 文件夹中的所有图像都被 service worker 调用。 enter image description here

我也检查了缓存存储,如您所见,也只有两个图像和图像文件夹!!我糊涂了!!如果有人可以对此提供一些说明,那将非常有帮助。 enter image description here

最佳答案

答案稍晚,但由于您拦截了所有获取请求,因此即使没有缓存的图像也会因为这一行而被服务 worker 返回:

return fetch(event.request)

标签 (from ServiceWorker) 仅表示它已由 Service Worker 从缓存或网络返回。

关于service-worker - 为什么服务 worker 缓存所有图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55548557/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com