CacheStorage.delete()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis avril 2018.
Expérimental: Il s'agit d'une technologie expérimentale.
Vérifiez attentivement le tableau de compatibilité des navigateurs avant de l'utiliser en production.
La fonction delete() de l'interface CacheStorage trouve l'objet Cache correspondant à un cacheName, et si trouvé, supprime l'objet Cache et retourne une Promesse qui renvoie true. Si aucun objet Cache n'est trouvé, elle retourne false.
Vous pouvez accéder à CacheStorage via la propriété globale caches.
Syntaxe
caches.delete(cacheName).then(function(true) {
// le cache est maintenant supprimé
});
Paramètres
- cacheName
-
Le nom du cache que vous souhaitez supprimer.
Retour
Une Promesse qui renvoie true si l'objet Cache est trouvé et supprimé, false sinon.
Exemples
Dans ce fragment de code, nous attendons un évènement, et bloquons avec un waitUntil(), qui nettoie les anciens, inutilisés, caches avant que le nouveau service worker soit activé. Nous avons ici une liste blanche contenant le nom du cache que nous voulons garder. Nous retournons les clés des caches dans l'objet CacheStorage utilisant CacheStorage.keys, pour ensuite vérifier que chaque clé est dans la liste blance. Sinon, nous la supprimons avec delete().
this.addEventListener("activate", function (event) {
var cacheWhitelist = ["v2"];
event.waitUntil(
caches.keys().then(function (keyList) {
return Promise.all(
keyList.map(function (key) {
if (cacheWhitelist.indexOf(key) === -1) {
return caches.delete(key);
}
}),
);
}),
);
});
Spécifications
| Specification |
|---|
| Service Workers> # cache-storage-delete> |
Compatibilité des navigateurs
Chargement…