BackgroundFetchManager

可用性有限

此功能不是基线,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表

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

BackgroundFetchManager 接口是 Background Fetch API 的一个映射,其中键是后台获取 ID,值是 BackgroundFetchRegistration 对象。

实例属性

无。

实例方法

fetch() 实验性

返回一个 Promise,该 Promise 解析为一个 BackgroundFetchRegistration 对象,该对象用于提供的 URL 数组和 Request 对象。

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-manager

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。