BackgroundFetchManager

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

注意:此功能在 Web Workers 中可用。

BackgroundFetchManager 介面是 Background Fetch API 的一部分,它是一個對映,其中鍵是後臺抓取 ID,值是 BackgroundFetchRegistration 物件。

例項屬性

無。

例項方法

fetch() 實驗性

返回一個 Promise,該 Promise 會解析為由提供的 URL 和 Request 物件陣列生成的 BackgroundFetchRegistration 物件。

get() 實驗性

返回一個 Promise,該 Promise 會解析為與提供的 id 關聯的 BackgroundFetchRegistration 物件,如果找不到 id,則解析為 undefined

getIds() 實驗性

返回所有已註冊的後臺抓取的 ID。

示例

下面的示例演示瞭如何從 ServiceWorkerRegistration 物件獲取 BackgroundFetchManager 例項,並呼叫 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

瀏覽器相容性