ServiceWorkerGlobalScope:backgroundfetchabort 事件

可用性有限

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

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

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

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

backgroundfetchabort 事件是 ServiceWorkerGlobalScope 介面的一個事件,當用戶或應用程式本身取消 後臺獲取 操作時觸發。

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

語法

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

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

onbackgroundfetchabort = (event) => { }

事件型別

一個 BackgroundFetchEvent

Event ExtendableEvent BackgroundFetchEvent

事件屬性

繼承自其父級 ExtendableEvent 的屬性。

BackgroundFetchEvent.registration

返回被中止獲取的 BackgroundFetchRegistration

描述

在後臺獲取 API 中,瀏覽器會向用戶顯示一個 UI 元素來指示操作的進度。該元素也允許使用者取消獲取。應用程式本身也可以透過呼叫 BackgroundFetchRegistration.abort() 來取消獲取。

如果獲取被取消,瀏覽器將中止該獲取,並在必要時啟動 Service Worker,然後在 Service Worker 的全域性作用域中觸發 backgroundfetchabort 事件。

在此事件的處理程式中,Service Worker 可以清理與該操作相關的任何資料。它還可以檢索和儲存任何成功的響應(例如,使用 Cache API)。要訪問響應資料,Service Worker 使用事件的 registration 屬性。

示例

清理

此事件處理程式可能會執行與被中止獲取相關的任何資料清理。

js
addEventListener("backgroundfetchabort", (event) => {
  // clean up any related data
});

規範

規範
Background Fetch
# dom-serviceworkerglobalscope-onbackgroundfetchabort

瀏覽器相容性

另見