web-dev-qa-db-fra.com

Comment vider un cache Service Worker dans Firefox?

Dans Chrome il est possible de vider le cache Service Worker des outils de développement.

Comment pouvons-nous y parvenir dans Firefox?

J'ai essayé jusqu'à présent:

  • pour désinscrire le service dans about:serviceworkers
  • pour vider le cache sous about:preferences#privacy
  • pour recharger la page avec Ctrl + F5

mais il est toujours là ...

16
Supersharp

Comme mentionné ci-dessus, ce n'est pas possible pour le moment. Mais la suppression des entrées de cache et des caches a été implémentée et devrait être déployée ( https://bugzilla.mozilla.org/show_bug.cgi?id=1304297 ). Et il est déjà disponible dans Firefox Developer Edition, par exemple.

2
Daniel

Vous pouvez exécuter l'extrait de code suivant dans la console Web Firefox:

caches.keys().then(function (cachesNames) {
  console.log("Delete " + document.defaultView.location.Origin + " caches");
  return Promise.all(cachesNames.map(function (cacheName) {
    return caches.delete(cacheName).then(function () {
      console.log("Cache with name " + cacheName + " is deleted");
    });
  }))
}).then(function () {
  console.log("All " + document.defaultView.location.Origin + " caches are deleted");
});

Pour plus d'informations sur cette vérification d'extrait de code page Cache Web API on MDN.

Vous ne pouvez pas vider le cache de Service Worker à l'aide de l'inspecteur de stockage dans la version actuelle de Firefox. Voir Documentation d'inspection du stockage sur les fonctionnalités actuellement disponibles. Vous ne pouvez pas utiliser about:preferences#privacy ou désinscrire Service Worker car le cache Service Worker fonctionne indépendamment du cache HTTP du navigateur et géré uniquement par vos scripts. Extrait pertinent de spécification Service Worker :

5.2 Comprendre les durées de vie du cache Les instances de cache ne font pas partie du cache HTTP du navigateur. Les objets Cache sont exactement ce que les auteurs doivent gérer eux-mêmes. Les objets Cache ne sont pas mis à jour à moins que les auteurs ne le demandent explicitement. Les objets Cache n'expirent pas à moins que les auteurs ne suppriment les entrées. Les objets Cache ne disparaissent pas simplement parce que le script de service worker est mis à jour. Autrement dit, les caches ne sont pas mis à jour automatiquement. Les mises à jour doivent être gérées manuellement. Cela implique que les auteurs doivent version leurs caches par nom et assurez-vous d'utiliser les caches uniquement à partir de la version de l'agent de service qui peut fonctionner en toute sécurité.

20
Leonid Vasilev

Tapez ceci dans la barre d'adresse de Firefox et désenregistrez les travailleurs de service que vous souhaitez.

about:debugging#workers
19
coder3101