Cache.add()

Die add() Methode des Cache Interface nimmt eine URL, ruft sie ab und fügt das resultierende Objekt zum gegebenen Cache. Die add() Methode gleicht funktional dem folgenden:

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

Für komplexere Operationen müssen Sie Cache.put() direkt verwenden.

Hinweis: add() wird alle zuvor im Cache gespeicherten Schlüssel-Wert-Paare die der Request gleichen überschreiben.

Syntax

cache.add(request).then(function() {
  // request wurde dem Cache hinzugefügt
});

Parameter

request
Die Request, die dem Cache hinzugefügt werden soll. Dies kann ein Request Objekt oder eine URL sein.

Rückgabewert

Eine Promise, die auf void auflöst.

Exceptions

Exception Tritt auf wenn
TypeError

Das URL-Schema nicht http oder https ist.

Der Antwortstatus ist nicht im 200 Bereich (d.h. keine erfolgreiche Antwort) Dies tritt auf, wenn die Request nicht erfolgreich zurückgegeben wird aber auch wenn die Request eine cross-origin no-cors Request ist (In diesem Fall ist der Status immer 0.)

Beispiele

Dieser Codeblock wartet darauf, dass ein InstallEvent ausgelöst wird, ruft dann waitUntil() auf, um den Installationsprozess der Applikation einzuleiten. Dies beinhaltet den Aufruf von CacheStorage.open um einen neuen Cache zu erstellen, um dann mittels Cache.add etwas zu diesem hinzuzufügen.

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

Spezifikationen

Specification Status Comment
Service Workers
Die Definition von 'Cache: add' in dieser Spezifikation.
Arbeitsentwurf Erstdefinition.

Browserkompatibilität

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidFirefox für AndroidOpera für AndroidSafari auf iOSSamsung Internet
add
Experimentell
Chrome Vollständige Unterstützung 44
Hinweise
Vollständige Unterstützung 44
Hinweise
Hinweise Requires HTTPS from version 46.
Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 39
Hinweise
Vollständige Unterstützung 39
Hinweise
Hinweise Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 31
Hinweise
Vollständige Unterstützung 31
Hinweise
Hinweise Requires HTTPS from version 33.
Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 44
Hinweise
Vollständige Unterstützung 44
Hinweise
Hinweise Requires HTTPS from version 46.
Chrome Android Vollständige Unterstützung 44
Hinweise
Vollständige Unterstützung 44
Hinweise
Hinweise Requires HTTPS from version 46.
Firefox Android Vollständige Unterstützung 39Opera Android Vollständige Unterstützung 32
Hinweise
Vollständige Unterstützung 32
Hinweise
Hinweise Requires HTTPS from version 33.
Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 4.0
Hinweise
Vollständige Unterstützung 4.0
Hinweise
Hinweise Requires HTTPS from Samsung Internet 5.0.

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung
Experimentell. Das Verhalten kann sich zukünftig ändern.
Experimentell. Das Verhalten kann sich zukünftig ändern.
Siehe Implementierungshinweise.
Siehe Implementierungshinweise.

Weiterlesen