ServiceWorkerGlobalScope:backgroundfetchclick 事件

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

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

ServiceWorkerGlobalScope 介面的 backgroundfetchclick 事件會在使用者點選瀏覽器提供的用於顯示 後臺獲取 操作進度的 UI 時觸發。

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

語法

在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。

js
addEventListener("backgroundfetchclick", (event) => { })

onbackgroundfetchclick = (event) => { }

事件型別

一個 BackgroundFetchEvent

Event ExtendableEvent BackgroundFetchEvent

事件屬性

繼承自其父級 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");
  }
});

規範

規範
Background Fetch
# dom-serviceworkerglobalscope-onbackgroundfetchclick

瀏覽器相容性

另見