aboutsummaryrefslogtreecommitdiff
path: root/files/pl/web/api/cache/index.html
blob: e0020cc3c4a4ce0ee6f792b6205ebebd9fb889ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
---
title: Cache
slug: Web/API/Cache
translation_of: Web/API/Cache
---
<div>{{draft}} {{APIRef("Service Workers API")}}</div>

<p>Interfejs <code>Cache</code> <a href="/en-US/docs/Web/API/ServiceWorker_API">ServiceWorkera API</a> reprezentuje magazyn dla par obiektu<code> <a href="http://fetch.spec.whatwg.org/#request">żądania</a></code> oraz obiektu <code><a href="http://fetch.spec.whatwg.org/#request">odpowiedzi</a></code>, które są cache'owane jako część cyklu życia {{domxref("ServiceWorker", "ServiceWorkera")}}. Domena może mieć wielokrotne nazwane obiekty <code>Cache</code>, których zawartość jest pod całkowitą kontrolą service workerów.</p>

<p>Każdy obiekt <code>Cache</code> 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 {{jsxref("Map")}}, jednakże wraz z dodatkowymi, poręcznymi metodami.</p>

<p>Jesteś odpowiedzialny za sposób zarządzania aktualizacjami <code>Cache'u</code> przez {{domxref("ServiceWorker", "ServiceWorkera")}}. Elementy w <code>Cache'u</code> nie są aktualizowane, chyba że jest to wyraźnie zażądane; nie wygasają jeżeli nie usunięte. Użyj {{domxref("CacheStorage.open", "CacheStorage.open(nazwa)")}}, by otworzyć własny, określony obiekt <code>Cache'u</code>, a następnie wywołać jakąkolwiek z jego metod, by nim operować.</p>

<p>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 {{domxref("ServiceWorker", "ServiceWorkera")}}, ażeby mogły one bezpiecznie na nich pracować.</p>

<h2 id="Właściwości">Właściwości</h2>

<dl>
 <dt>{{domxref("Cache.options")}}</dt>
 <dd>Opcjonalny parametr przekazywany do metod: {{domxref("Cache.match", "Cache.match(żądanie, opcje)")}}, {{domxref("Cache.add", "Cache.add(żądanie)")}} i {{domxref("Cache.keys", "Cache.keys(żądanie, opcje)")}} z poniższymi atrybutami: <code>ignoreSearch</code>, <code>ignoreMethod</code>, <code>ignoreVary</code>, <code>prefixMatch</code>, <code>cacheName</code>.</dd>
</dl>

<h2 id="Metody">Metody</h2>

<dl>
 <dt>{{domxref("Cache.match", "Cache.match(żądanie, opcje)")}}</dt>
 <dd>Zwraca {{jsxref("Promise")}}, która jest rozwiązywana do pierwszego pasującego żądania w obiekcie {{domxref("Cache", "Cache'u")}}.</dd>
 <dt>{{domxref("Cache.add", "Cache.add(żądanie)")}}</dt>
 <dd>Zwraca {{jsxref("Promise")}}, która jest rozwiązywana do nowego wpisu {{domxref("Cache", "Cache'u")}}, którego kluczem jest żądanie. Ta metoda nadal jest w trakcie tworzenia (zobacz <a href="http://crbug.com/427652">http://crbug.com/427652</a>). Póki co używaj <a href="#">ServiceWorker cache polyfill</a>.</dd>
 <dt>{{domxref("Cache.addAll", "Cache.addAll(żądania)")}}</dt>
 <dd>Zwraca {{jsxref("Promise")}}, która jest rozwiązywana do nowego szeregu złożonego z wpisów {{domxref("Cache", "Cache'u")}}, którego kluczami są żądania. Metoda ta jest nadal w trakcie tworzenia (zobacz <a href="http://crbug.com/427652">http://crbug.com/427652</a>). Póki co używaj <a href="#">ServiceWorker cache polyfill</a>.</dd>
 <dt>{{domxref("Cache.put", "Cache.put(żądanie, odpowiedź)")}}</dt>
 <dd>Dodaje dodatkowe pary klucz/wartość do aktualnego obiektu {{domxref("Cache")}}.</dd>
 <dt>{{domxref("Cache.delete", "Cache.delete(żądanie, opcje)")}}</dt>
 <dd>Znajduje wpis {{domxref("Cache", "Cache'u")}}, którego klucz jest żądaniem, jeśli znaleziony, usuwa ten wpis, zwracając następnie {{jsxref("Promise")}}, rozwiązywany do <code>true</code>. Jeśli dany wpis {{domxref("Cache", "Cache'u")}} nie został znaleziony, zwraca <code>false</code>.</dd>
 <dt>{{domxref("Cache.keys", "Cache.keys(żądanie, opcje)")}}</dt>
 <dd>Zwraca {{jsxref("Promise")}}, który rozwiązuje się do szerego złożonego z kluczów {{domxref("Cache", "Cache'u")}}.</dd>
</dl>

<p>
 </p><h2 id="Specyfikacje">Specyfikacje</h2>


<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{SpecName('Service Workers', '#cache', 'Cache')}}</td>
   <td>{{Spec2('Service Workers')}}</td>
   <td>Initial definition.</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">Zgodność z przeglądarką</h2>

<div>{{CompatibilityTable}}</div>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari (WebKit)</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatChrome(40.0)}}</td>
   <td>{{CompatGeckoDesktop("33.0")}}</td>
   <td>{{CompatNo}}</td>
   <td>24</td>
   <td>{{CompatNo}}</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>Firefox OS</th>
   <th>IE Mobile</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
   <th>Chrome for Android</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
 </tbody>
</table>
</div>

<h2 id="Warte_uwagi">Warte uwagi</h2>

<ul>
 <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker_API/Using_Service_Workers">Using Service Workers</a></li>
 <li><a class="external external-icon" href="https://github.com/mdn/sw-test">Service workers basic code example</a></li>
 <li><a class="external external-icon" href="https://jakearchibald.github.io/isserviceworkerready/">Is ServiceWorker ready?</a></li>
 <li>{{jsxref("Promise")}}</li>
 <li><a href="https://developer.mozilla.org/en-US/docs/Web/Guide/Performance/Using_web_workers">Using web workers</a></li>
</ul>