BackgroundFetchRegistration:progress 事件

可用性有限

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

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

注意:此功能在 Web 工作线程 中可用。

当关联的后台获取进度发生变化时,BackgroundFetchRegistration 接口的progress 事件将被触发。

实际上,当以下任何属性返回新值时,都会触发此事件

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或者在相关的 BackgroundFetchRegistration 对象上设置 onprogress 事件属性。

js
addEventListener("progress", (event) => { })
onprogress = (event) => { }

事件类型

一个没有添加任何属性的通用 Event

示例

以下示例演示了如何记录下载进度。代码首先检查在注册后台获取时是否提供了 downloadTotal。然后,根据 downloaded 属性计算百分比。

js
bgFetch.addEventListener("progress", () => {
  if (!bgFetch.downloadTotal) return;
  const percent = Math.round(
    (bgFetch.downloaded / bgFetch.downloadTotal) * 100,
  );
  console.log(`Download progress: ${percent}%`);
});

规范

规范
后台获取
# background-fetch-registration-events

浏览器兼容性

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