ServiceWorkerGlobalScope:backgroundfetchfail 事件

可用性有限

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

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

安全上下文:此功能仅在 安全上下文(HTTPS)中可用,在某些或所有 支持的浏览器 中。

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

backgroundfetchfail 事件是 ServiceWorkerGlobalScope 接口的事件,当 后台获取 操作失败时触发:即,当获取操作中的至少一个网络请求未能成功完成时。

此事件不可取消,也不冒泡。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("backgroundfetchfail", (event) => {});

onbackgroundfetchfail = (event) => {};

事件类型

事件属性

继承其父级 BackgroundFetchEvent 的属性。

BackgroundFetchUpdateUIEvent.updateUI()

更新浏览器显示以显示获取操作进度的元素的 UI。

描述

后台获取 操作失败(意味着至少一个单独的网络请求未成功完成)时,浏览器会根据需要启动服务工作线程,并在服务工作线程的全局作用域中触发 backgroundfetchfail 事件。

在后台获取 API 中,浏览器会向用户显示一个 UI 元素以指示操作的进度。在 backgroundfetchfail 处理程序中,服务工作线程可以更新该 UI 以显示操作已失败。为此,处理程序调用事件的 updateUI() 方法,并传入新的标题和/或图标。

在此 backgroundfetchfail 的处理程序中,服务工作线程还可以清理与操作相关的任何数据。它还可以检索和存储任何成功的响应(例如,使用 Cache API)。要访问响应数据,服务工作线程可以使用事件的 registration 属性。

示例

更新 UI

此事件处理程序更新 UI 以告知用户操作失败。

js
addEventListener("backgroundfetchfail", (event) => {
  event.updateUI({ title: "Could not complete download" });
});

规范

规范
后台获取
# dom-serviceworkerglobalscope-onbackgroundfetchfail

浏览器兼容性

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

另请参阅