Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.
La fonction open()de l'interface CacheStorage retourne une Promise qui renvoie l'objet Cache correspondant a un cacheName.
Note: Si leCache spécifié n'existe pas, un nouveau cache sera crée avec cacheName.
Syntaxe
caches.open(cacheName).then(function(cache) {
// faire quelque chose avec le cache
});
Retour
Une Promise qui renvoie l'objet Cache demandé.
Paramètres
- cacheName
- Le nom du cache que vous voulez ouvrir.
Exemples
Ce fragment de code est tiré du MDN sw-test example (voir sw-test running live). Nous patientons pour un FetchEvent. Ensuite nous construisons une réponse comme suit:
- Vérifier si une correspondance pour la requète est trouvée dans le
CacheStorageen utilisantCacheStorage.match. Si oui, la servir. - Si non, ouvrire le cache
v1avecopen(), mettre le réseau par défaut dans le cache avecCache.putet retourner un clone du réseau par défaut en utilisantreturn response.clone()— obligatoire carput()détruit le corps de la réponse. - Si ceci échoue (e.g., parce que le réseau est inactif), retourner une réponse de secours.
var response;
var cachedResponse = caches.match(event.request).catch(function() {
return fetch(event.request);
}).then(function(r) {
response = r;
caches.open('v1').then(function(cache) {
cache.put(event.request, response);
});
return response.clone();
}).catch(function() {
return caches.match('/sw-test/gallery/myLittleVader.jpg');
});
Spécifications
| Spécification | Statut | Commentaire |
|---|---|---|
| Service Workers La définition de 'CacheStorage' dans cette spécification. |
Version de travail | Définition initiale. |
Compatibilités des navigateurs
| Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Support de base | 40.0 | 44 (44)[1] | Pas de support | ? | Pas de support |
| Fonctionnalité | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|
| Support de base | Pas de support | Pas de support | 44.0 (44) | (Oui) | (Oui) | (Oui) | 40.0 |
[1] Les services workers (et Push) on été désactivés dans la Sortie du support étendu de Firefox 45 (ESR.)