ServiceWorkerGlobalScope: sync イベント

Limited availability

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

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

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

syncServiceWorkerGlobalScope インターフェイスのイベントで、 SyncManager にイベントを登録したページ(またはワーカー)が実行されているとき、ネットワーク接続が利用できるようになるとすぐに発行されます。

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

構文

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

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

onsync = (event) => {};

イベント型

SyncEvent です。ExtendableEvent および Event を継承しています。

Event ExtendableEvent SyncEvent

イベントプロパティ

祖先である ExtendableEvent および Event からプロパティを継承しています

SyncEvent.tag 読取専用

この SyncEvent の開発者が定義した識別子を返します。

SyncEvent.lastChance 読取専用

ユーザーエージェントが現在の同期を試行した後、それ以上同期を試行しない場合には true を返します。

以下の例は、サービスワーカーで同期イベントに応答する方法を示しています。

js
self.addEventListener("sync", (event) => {
  if (event.tag === "sync-messages") {
    event.waitUntil(sendOutboxMessages());
  }
});

また、 onsync プロパティを使用して、イベントハンドラーを設定することもできます。

js
self.onsync = (event) => {
  // ...
};

仕様書

Specification
Web Background Synchronization
# dom-serviceworkerglobalscope-onsync

ブラウザーの互換性

BCD tables only load in the browser

関連情報