Удалить кеш, исключая определенные файлы с javascript - PullRequest
0 голосов
/ 05 мая 2020

Я создаю свое первое прогрессивное веб-приложение. Я пытаюсь использовать кнопку удаления кеша, есть ли способ удалить все файлы, за исключением определенных файлов, а также те, которые кешируются службой, тоже работают.

Я видел, что caches.delete () использовался, но могу ли я исключая файлы, использующие это?

удалить кеш:

 self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })
  self.caches.delete('demo')

работник службы:

var cacheFiles = [
  '/',
  '/index.html',
  '/style.css'
];

    self.addEventListener('install', function(e) {
      e.waitUntil(
        caches.open("demo").then(function(cache) {
          return cache.addAll(cacheFiles);
        })
      );
    });

1 Ответ

0 голосов
/ 05 мая 2020

Из вашего вопроса я понял, что вы хотите удалить из кеша только определенные файлы.

Я думаю, что это возможно, используя что-то вроде этого:

function deleteFileFromCache(fileName, cacheName) {
  caches.open(cacheName).then(function(cache) {
    cache.delete(fileName).then(function(response) {
      console.log('cache.delete response:', response);
  }
}

По крайней мере, Документы MDN подразумевают, что это будет работать.

...