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

浏览器兼容性