ServiceWorkerGlobalScope:backgroundfetchclick 事件
注意:此功能仅在Service Workers中可用。
backgroundfetchclick
事件是 ServiceWorkerGlobalScope
接口的一个事件,当用户点击浏览器提供的 UI 以显示后台获取操作的进度时触发。
此事件不可取消,也不冒泡。
语法
在诸如 addEventListener()
之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("backgroundfetchclick", (event) => {});
onbackgroundfetchclick = (event) => {};
事件类型
事件属性
继承自其父级 ExtendableEvent
的属性。
BackgroundFetchEvent.registration
-
返回用户点击其进度对话框的
BackgroundFetchRegistration
。
描述
当后台获取操作开始时,浏览器会向用户显示一个 UI 元素以指示操作的进度。如果用户点击此元素,浏览器将根据需要启动 Service Worker,并在 Service Worker 的全局范围内触发 backgroundfetchclick
事件。
在这种情况下,处理程序的一项常见任务是打开一个窗口,向用户提供有关获取操作的更多详细信息。
示例
打开包含更多详细信息的窗口
此事件处理程序使用全局 clients
属性打开一个窗口,向用户提供有关获取的更多详细信息。它根据获取是否已完成打开不同的窗口。
js
addEventListener("backgroundfetchclick", (event) => {
const registration = event.registration;
if (registration.result === "success") {
clients.openWindow("/play-movie");
} else {
clients.openWindow("/movie-download-progress");
}
});
规范
规范 |
---|
后台获取 # dom-serviceworkerglobalscope-onbackgroundfetchclick |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。