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

View in English Always switch to English

BackgroundFetchManager

利用可能性は限定的

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

Want more browser support for this feature? Tell us why.

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

ブラウザーの互換性