From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/fr/web/api/cache/add/index.html | 116 ++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 files/fr/web/api/cache/add/index.html (limited to 'files/fr/web/api/cache/add') diff --git a/files/fr/web/api/cache/add/index.html b/files/fr/web/api/cache/add/index.html new file mode 100644 index 0000000000..25846672e0 --- /dev/null +++ b/files/fr/web/api/cache/add/index.html @@ -0,0 +1,116 @@ +--- +title: Cache.add() +slug: Web/API/Cache/add +tags: + - API + - Add + - Cache + - Experimental + - Méthode + - Reference + - Service Worker + - Service worker API + - ServiceWorker +translation_of: Web/API/Cache/add +--- +

{{APIRef("Service Workers API")}}{{SeeCompatTable}}

+ +

La méthode add() de l'interface {{domxref("Cache")}} accepte une URL, la récupère, et ajoute l'objet réponse qui en résulte dans le cache. La méthode add() est équivalent au code suivant :

+ +
fetch(url).then(function(response) {
+  if (!response.ok) {
+    throw new TypeError('bad response status');
+  }
+  return cache.put(url, response);
+})
+ +

Pour des opérations plus complexes, il faut utiliser {{domxref("Cache.put","Cache.put()")}} directement.

+ +
+

Note: add() écrasera toute paire clé/valeur précedemment stockée en cache et qui correspond à la requête.

+
+ +

Syntaxe

+ +
cache.add(request).then(function() {
+  //request a été ajoutée au cache
+});
+
+ +

Paramètres

+ +
+
request
+
La requête à mettre en cache. Ce paramètre peut être un objet {{domxref("Request", "Requête")}} ou une URL.
+
+ +

Retour

+ +

Une {{jsxref("Promise", "Promesse")}} qui est résolue en void.

+ +

Exceptions

+ + + + + + + + + + + + + + +
ExceptionArrive quand
TypeError +

Le schéma d'URL n'est pas http ou https.

+ +

Le statut de la réponse n'est pas dans les 200 (i.e., une requête qui a échoué.) Cela peut arriver si la requête échoue, mais également si la requête est une cross-origin no-cors (auquel cas le statut retourné est systématiquement 0.)

+
+ +

Exemples

+ +

Ce bloc de code attends le déclenchement d'un {{domxref("InstallEvent")}}, puis lance {{domxref("ExtendableEvent.waitUntil","waitUntil")}} qui gère la phase d'installation de l'application. Cela consite à appeler {{domxref("CacheStorage.open")}} afin de créer un nouveau cache, puis à utiliser {{domxref("Cache.add")}} pour y ajouter des ressources.

+ +
this.addEventListener('install', function(event) {
+  event.waitUntil(
+    caches.open('v1').then(function(cache) {
+      return cache.add('/sw-test/index.html');
+    })
+  );
+});
+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('Service Workers', '#dom-cache-add', 'Cache: add')}}{{Spec2('Service Workers')}}Définition initiale.
+ +

Compatibilité des navigateurs

+ +
+ + +

{{Compat("api.Cache.add")}}

+
+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf