我使用的是我所理解的标准SW缓存管理代码,但是在激活了新的SW版本并安装了新的缓存之后,某些URL的Time Cached已设置为激活发生的时间,但是大多数仍然与以前的缓存相同。因此,无法检索某些已更改页面的新版本。
var cacheName='mycache_v16.13'
var urls = [
'various URLs',
];
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open(cacheName).then(function(cache){
return cache.addAll(urls);
})
);
});
self.addEventListener("activate", function(event) {
event.waitUntil(
caches.keys().then(function(cacheNames) {
return Promise.all(
cacheNames.map(function(oldName) {
if (oldName !== cacheName && oldName.startsWith("mycache")) {
return caches.delete(oldName);
}
})
);
})
);
});
我认为所有URL应该重新缓存。 所以我的问题是我在做什么错,或者如何确保已更改的文件在缓存中被替换?