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