--- title: 'ServiceWorkerGlobalScope: push イベント' slug: Web/API/ServiceWorkerGlobalScope/push_event tags: - API - Event - Notifications - Push - Push API - PushEvent - Reference - Service Workers - ServiceWorker - ServiceWorkerGlobalScope - events - messaging - イベント translation_of: Web/API/ServiceWorkerGlobalScope/push_event ---
{{APIRef("Push API")}}

push イベントは、サービスワーカーがプッシュメッセージを受信したときにサービスワーカーのグローバルスコープ ({{domxref("ServiceWorkerGlobalScope")}} インターフェイスで表現されるもの) に送られます。

バブリング なし
キャンセル 不可
インターフェイス {{domxref("PushEvent")}}
イベントハンドラープロパティ {{domxref("ServiceWorkerGlobalScope.onpush", "onpush")}}

この例は push イベントのハンドラーを設定して、 {{Glossary("JSON")}} データを取り、解析し、メッセージ内に含まれる情報に基づいて扱うためにメッセージを仕分けします。

self.addEventListener("push", event => {
  let message = event.data.json();

  switch(message.type) {
    case "init":
      doInit();
      break;
    case "shutdown":
      doShutdown();
      break;
  }
}, false);

仕様書

仕様書 状態 備考
{{SpecName('Push API', '#extensions-to-the-serviceworkerglobalscope-interface', 'push')}} {{Spec2('Push API')}} 初回定義

ブラウザーの互換性

{{Compat("api.ServiceWorkerGlobalScope.push_event")}}

関連情報