ServiceWorkerGlobalScope: backgroundfetchfail イベント
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
メモ: この機能はサービスワーカー内でのみ利用可能です。
backgroundfetchfail
は ServiceWorkerGlobalScope
インターフェイスのイベントで、バックグラウンドフェッチ操作が失敗した場合、つまり、フェッチ内の少なくとも 1 つのネットワークリクエストが正常に完了しなかった場合に発生します。
このイベントはキャンセル不可で、バブリングしません。
構文
このイベント名を addEventListener()
などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。
addEventListener("backgroundfetchfail", (event) => {});
onbackgroundfetchfail = (event) => {};
イベント型
イベントプロパティ
親である BackgroundFetchEvent
から継承したプロパティがあります。
BackgroundFetchUpdateUIEvent.updateUI()
-
ブラウザーがフェッチ操作の進捗状況を表示するために表示する要素の UI を更新します。
解説
バックグラウンドフェッチ操作が失敗した場合(つまり、個々のネットワークリクエストの少なくとも 1 つが正常に完了していない場合)、ブラウザーは必要に応じてサービスワーカーを起動し、サービスワーカーのグローバルスコープで backgroundfetchfail
イベントを発行します。
バックグラウンドフェッチ API では、ブラウザーはユーザーに操作の進行状況を示す UI 要素を表示します。backgroundfetchfail
ハンドラーでは、サービスワーカーがその UI を更新して操作が失敗したことを示すことができます。これを行うには、ハンドラーがイベントの updateUI()
メソッドを呼び出し、新しいタイトルやアイコンを渡します。
この backgroundfetchfail
のハンドラーでは、サービスワーカーは操作に関連するデータをクリーンアップすることもできます。また、成功したレスポンスをすべて取得して(Cache
APIを使用して)保存することもできます。レスポンスデータにアクセスするために、サービスワーカーはイベントの registration
プロパティを使用します。
例
UI の更新
このイベントハンドラーは、操作が失敗したことをユーザーに知らせるために UI を更新します。
addEventListener("backgroundfetchfail", (event) => {
event.updateUI({ title: "Could not complete download" });
});
仕様書
Specification |
---|
Background Fetch # dom-serviceworkerglobalscope-onbackgroundfetchfail |
ブラウザーの互換性
BCD tables only load in the browser