ServiceWorkerGlobalScope: backgroundfetchfail イベント

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

メモ: この機能はサービスワーカー内でのみ利用可能です。

backgroundfetchfailServiceWorkerGlobalScope インターフェイスのイベントで、バックグラウンドフェッチ操作が失敗した場合、つまり、フェッチ内の少なくとも 1 つのネットワークリクエストが正常に完了しなかった場合に発生します。

このイベントはキャンセル不可で、バブリングしません。

構文

このイベント名を addEventListener() などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。

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

onbackgroundfetchfail = (event) => {};

イベント型

イベントプロパティ

親である BackgroundFetchEvent から継承したプロパティがあります。

BackgroundFetchUpdateUIEvent.updateUI()

ブラウザーがフェッチ操作の進捗状況を表示するために表示する要素の UI を更新します。

解説

バックグラウンドフェッチ操作が失敗した場合(つまり、個々のネットワークリクエストの少なくとも 1 つが正常に完了していない場合)、ブラウザーは必要に応じてサービスワーカーを起動し、サービスワーカーのグローバルスコープで backgroundfetchfail イベントを発行します。

バックグラウンドフェッチ API では、ブラウザーはユーザーに操作の進行状況を示す UI 要素を表示します。backgroundfetchfail ハンドラーでは、サービスワーカーがその UI を更新して操作が失敗したことを示すことができます。これを行うには、ハンドラーがイベントの updateUI() メソッドを呼び出し、新しいタイトルやアイコンを渡します。

この backgroundfetchfail のハンドラーでは、サービスワーカーは操作に関連するデータをクリーンアップすることもできます。また、成功したレスポンスをすべて取得して(Cache APIを使用して)保存することもできます。レスポンスデータにアクセスするために、サービスワーカーはイベントの registration プロパティを使用します。

UI の更新

このイベントハンドラーは、操作が失敗したことをユーザーに知らせるために UI を更新します。

js
addEventListener("backgroundfetchfail", (event) => {
  event.updateUI({ title: "Could not complete download" });
});

仕様書

Specification
Background Fetch
# dom-serviceworkerglobalscope-onbackgroundfetchfail

ブラウザーの互換性

BCD tables only load in the browser

関連情報