このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

BackgroundFetchManager

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

メモ: この機能はウェブワーカー内で利用可能です。

BackgroundFetchManagerバックグラウンドフェッチ API のインターフェイスで、バックグラウンドフェッチ ID をキー、BackgroundFetchRegistration オブジェクトを値とする対応表です。

プロパティ

なし。

メソッド

fetch()

引数に与えられた配列( URL や Request オブジェクトで構成される) に対して、BackgroundFetchRegistration オブジェクトで解決される Promise を返します。

get()

引数に与えられた id に紐づく BackgroundFetchRegistration で解決される Promise を返します。 id が見つからない場合は undefined を返します。

getIds()

登録済みのすべてのバックグラウンドフェッチの ID を返します。

下記の例は、BackgroundFetchManager のインスタンスを ServiceWorkerRegistration オブジェクトから取得し、バックグラウンドでオーディオファイルをダウンロードするために fetch() メソッドを呼び出しています。

js
navigator.serviceWorker.ready.then(async (swReg) => {
  const bgFetch = await swReg.backgroundFetch.fetch(
    "my-fetch",
    ["/ep-5.mp3", "ep-5-artwork.jpg"],
    {
      title: "Episode 5: Interesting things.",
      icons: [
        {
          sizes: "300x300",
          src: "/ep-5-icon.png",
          type: "image/png",
        },
      ],
      downloadTotal: 60 * 1024 * 1024,
    },
  );
});

仕様書

仕様書
Background Fetch
# background-fetch-manager

ブラウザーの互換性