为什么我的cache.addAll无法检索所有URL

时间:2019-06-07 07:36:18

标签: caching service-worker

我使用的是我所理解的标准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应该重新缓存。 所以我的问题是我在做什么错,或者如何确保已更改的文件在缓存中被替换?

0 个答案:

没有答案