Cache
Szkic: Strona ta nie jest jeszcze ukończona.
Interfejs Cache
ServiceWorkera API reprezentuje magazyn dla par obiektu żądania
oraz obiektu odpowiedzi
, które są cache'owane jako część cyklu życia ServiceWorkera
(en-US). Domena może mieć wielokrotne nazwane obiekty Cache
, których zawartość jest pod całkowitą kontrolą service workerów.
Każdy obiekt Cache
jest kolekcją par klucz/wartość. By w pełni zarządzać zawartością cache'ów (by następnie użyć je offline), interfejs ten dostarcza metody w dużej mierze zgodne z obiektem Map
, jednakże wraz z dodatkowymi, poręcznymi metodami.
Jesteś odpowiedzialny za sposób zarządzania aktualizacjami Cache'u
przez ServiceWorkera
(en-US). Elementy w Cache'u
nie są aktualizowane, chyba że jest to wyraźnie zażądane; nie wygasają jeżeli nie usunięte. Użyj CacheStorage.open(nazwa)
(en-US), by otworzyć własny, określony obiekt Cache'u
, a następnie wywołać jakąkolwiek z jego metod, by nim operować.
Również do Ciebie należy okresowe opróżnianie wpisów cache'u. Każda przeglądarka ma określony limit powierzchni, który może zostać użyty przez danego service workera. Upewnij się, że opisujesz cache'y poprzez nazwy oraz używasz cache tylko z danej wersji ServiceWorkera
(en-US), ażeby mogły one bezpiecznie na nich pracować.
Właściwości
Cache.options
- Opcjonalny parametr przekazywany do metod:
Cache.match(żądanie, opcje)
(en-US),Cache.add(żądanie)
(en-US) iCache.keys(żądanie, opcje)
(en-US) z poniższymi atrybutami:ignoreSearch
,ignoreMethod
,ignoreVary
,prefixMatch
,cacheName
.
Metody
Cache.match(żądanie, opcje)
(en-US)- Zwraca
Promise
, która jest rozwiązywana do pierwszego pasującego żądania w obiekcieCache'u
. Cache.add(żądanie)
(en-US)- Zwraca
Promise
, która jest rozwiązywana do nowego wpisuCache'u
, którego kluczem jest żądanie. Ta metoda nadal jest w trakcie tworzenia (zobacz http://crbug.com/427652). Póki co używaj ServiceWorker cache polyfill. Cache.addAll(żądania)
(en-US)- Zwraca
Promise
, która jest rozwiązywana do nowego szeregu złożonego z wpisówCache'u
, którego kluczami są żądania. Metoda ta jest nadal w trakcie tworzenia (zobacz http://crbug.com/427652). Póki co używaj ServiceWorker cache polyfill. Cache.put(żądanie, odpowiedź)
(en-US)- Dodaje dodatkowe pary klucz/wartość do aktualnego obiektu
Cache
. Cache.delete(żądanie, opcje)
(en-US)- Znajduje wpis
Cache'u
, którego klucz jest żądaniem, jeśli znaleziony, usuwa ten wpis, zwracając następniePromise
, rozwiązywany dotrue
. Jeśli dany wpisCache'u
nie został znaleziony, zwracafalse
. Cache.keys(żądanie, opcje)
(en-US)- Zwraca
Promise
, który rozwiązuje się do szerego złożonego z kluczówCache'u
.
Specyfikacje
Specification | Status | Comment |
---|---|---|
Service Workers The definition of 'Cache' in that specification. |
Working Draft | Initial definition. |
Zgodność z przeglądarką
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 40.0 | 33.0 (33.0) | No support | 24 | No support |
Feature | Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | ? | ? | ? | No support | ? | No support | ? |