これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

Cache インターフェースの addAll() メソッドは、URL の配列を受け取り、取得して、指定されたキャッシュに結果のレスポンスオブジェクトを追加します。取得の間に作成されたリクエストオブジェクトは、格納されるレスポンス操作のキーになります。

メモ: addAll() はリクエストに一致するキャッシュの中に、以前格納されたあらゆるキー/値の組を上書きしますが、結果の put() 操作が同じ addAll() メソッドで作成された以前のキャッシュエントリーを上書き仕様とすると失敗します。

構文

cache.addAll(requests[]).then(function() {
  // リクエストはすでに cahce に追加されている。
});

引数

requests
キャッシュにフェッチして追加したい URL の文字列の配列です。

返値

void で解決する Promise

例外

例外 発生条件
TypeError

The URL scheme is not http or https.

The Response status is not in the 200 range (i.e., not a successful response.) This occurs if the request does not return successfully, but also if the request is a cross-origin no-cors request (in which case the reported status is always 0.)

このコードブロックは、InstallEvent が発火するのを待ってから、アプリにインストールプロセスを処理するために、waitUntil を実行します。この処理は、新しい cache を作成するための CacheStorage.open の呼び出しと、資産を追加するための addAll() の使用で構成されています。

this.addEventListener('install', function(event) {
  event.waitUntil(
    caches.open('v1').then(function(cache) {
      return cache.addAll([
        '/sw-test/',
        '/sw-test/index.html',
        '/sw-test/style.css',
        '/sw-test/app.js',
        '/sw-test/image-list.js',
        '/sw-test/star-wars-logo.jpg',
        '/sw-test/gallery/',
        '/sw-test/gallery/bountyHunters.jpg',
        '/sw-test/gallery/myLittleVader.jpg',
        '/sw-test/gallery/snowTroopers.jpg'
      ]);
    })
  );
});

仕様策定状況

仕様書 策定状況 コメント
Service Workers
Cache の定義
草案 初回定義

ブラウザーの対応

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応46116392 なし331 なし
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応461461 なし39331 なし5.0

1. Requires HTTPS.

2. Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09
最終更新者: mfuji09,