Почему мой cache.add не получает все URL - PullRequest
0 голосов
/ 07 июня 2019

Я использую то, что, как я понимаю, является стандартным кодом управления кэш-памятью 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-адреса должны быть повторно кэшированы.Итак, мой вопрос: что я делаю не так или как я могу гарантировать, что измененные файлы будут заменены в кеше?

...