ServiceWorkerGlobalScope:backgroundfetchfail 事件

可用性有限

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

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

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

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

ServiceWorkerGlobalScope 介面的 backgroundfetchfail 事件在 後臺獲取 操作失敗時觸發:也就是說,當獲取中的至少一個網路請求未能成功完成時。

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

語法

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

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

onbackgroundfetchfail = (event) => { }

事件型別

一個 BackgroundFetchUpdateUIEvent

Event ExtendableEvent BackgroundFetchEvent BackgroundFetchUpdateUIEvent

事件屬性

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

規範

規範
Background Fetch
# dom-serviceworkerglobalscope-onbackgroundfetchfail

瀏覽器相容性

另見