このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

SyncManager: register() メソッド

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

メモ: この機能はウェブワーカー内で利用可能です。

SyncManager インターフェイスの register() メソッドは、同期イベントを登録します。このイベントは、ネットワーク接続が利用可能になるとすぐに、関連付けられたサービスワーカー内で sync イベントを発生させます。

構文

js
register(tag)

引数

tag

同期イベントの識別子です。これは、サービスワーカーの sync イベントのハンドラーに渡される SyncEventtag プロパティの値になります。

返値

undefined で解決する Promise です。

例外

InvalidStateError DOMException

現在のサービスワーカーがアクティブでないとき投げられます。

NotAllowedError DOMException

バックグラウンド同期がユーザーにより無効化されているとき投げられます。

以下の非同期関数は、ブラウジングコンテキストからバックグラウンド同期を登録します。

js
async function syncMessagesLater() {
  const registration = await navigator.serviceWorker.ready;
  try {
    await registration.sync.register("sync-messages");
  } catch {
    console.log("バックグラウンド同期の登録に失敗しました!");
  }
}

仕様書

仕様書
Web Background Synchronization
# dom-syncmanager-register

ブラウザーの互換性