CacheStorage.open()

CacheStorage インターフェイスの open() メソッドは、cacheName に一致する Cache オブジェクトに解決される Promise を返します。

グローバルな caches プロパティを介して CacheStorage にアクセスできます。

: 指定した Cache が存在しない場合、その cacheName で新しいキャッシュを作成し、この新しい Cache オブジェクトに解決される Promise を返します。

構文

caches.open(cacheName).then(function(cache) {
  // cache で何かをする
});

パラメーター

cacheName
開きたいキャッシュの名前。

戻り値

要求した Cache オブジェクトに解決される Promise

この例は MDN の sw-test の例からのものです(sw-test をライブで見る)。 ここでは、InstallEvent が発生するのを待ち、waitUntil() を実行してアプリのインストールプロセスを処理します。 これは、CacheStorage.open() を呼び出して新しいキャッシュを作成し、Cache.addAll() を使用して一連のアセットを追加することで構成されます。

self.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/bountyHunters.jpg',
        '/sw-test/gallery/myLittleVader.jpg',
        '/sw-test/gallery/snowTroopers.jpg'
      ]);
    })
  );

仕様

仕様 状態 コメント
Service Workers
CacheStorage: open の定義
草案 初期定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
open
実験的
Chrome 完全対応 40Edge 完全対応 16Firefox 完全対応 44
補足
完全対応 44
補足
補足 Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE 未対応 なしOpera 完全対応 27Safari 完全対応 11.1WebView Android 完全対応 40Chrome Android 完全対応 40Firefox Android 完全対応 44Opera Android 完全対応 27Safari iOS 完全対応 ありSamsung Internet Android 完全対応 4.0

凡例

完全対応  
完全対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。

関連情報