We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

これは実験段階の機能です。
この機能は複数のブラウザーで開発中の状態にあります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザーの将来のバージョンで変更になる可能性があることに注意してください。

Push APIPushEvent インターフェースは、受け取ったプッシュメッセージを表します。このイベントは、ServiceWorkerグローバルスコープに送信されます。これは、アプリケーションサーバから PushSubscription に送信された情報を含みます。

コンストラクタ

PushEvent.PushEvent()
新しい PushEvent オブジェクトを生成する。

プロパティ

親である ExtendableEvent からプロパティを継承しています。追加プロパティ:

PushEvent.data 読取専用
PushSubscription に送信されたデータを含む PushMessageData オブジェクトへの参照を返します。

メソッド

親である ExtendableEvent からメソッドを継承しています。

次の例は、PushEvent からデータを取得して、すべての service worker クライアントで表示しています。

self.addEventListener('push', function(event) {
  if (!(self.Notification && self.notification.permission === 'granted')) {
    return;
  }

  var data = {};
  if (event.data) {
    data = event.data.json();
  }
  var title = data.title || "Something Has Happened";
  var message = data.message || "Here's something you might want to check out.";
  var icon = "images/new-notification.png";

  var notification = new Notification(title, {
    body: message,
    tag: 'simple-push-demo-notification',
    icon: icon
  });

  notification.addEventListener('click', function() {
    if (clients.openWindow) {
      clients.openWindow('https://example.blog.com/2015/03/04/something-new.html');
    }
  });
});

仕様

仕様 状態 コメント
Push API
PushEvent の定義
草案 初期定義。

ブラウザ実装状況

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート 42.0 44.0 (44.0)[1][2] 未サポート ? 未サポート
data プロパティ 未サポート 44.0 (44.0)[2] 未サポート 未サポート 未サポート
機能 Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
基本サポート 未サポート 未サポート 48.0 (48)[3] 未サポート 未サポート 未サポート 未サポート 42.0
data プロパティ 未サポート 未サポート 48.0 (48)[3] 未サポート 未サポート 未サポート 未サポート 未サポート
  • [1] 現在、Nightly/Developer Edition/Beta で既定で使用できますが、リリースチャネルでは使用できません(バグ 1208560)。
  • [2] Push(と Service Workers)は、Firefox 45 延長サポート版(ESR)では使用できません。
  • [3] Android 版 Firefox 48 から、既定で Push を使用できます。

関連項目

ドキュメントのタグと貢献者

このページの貢献者: dskmori, YuichiNukiyama
最終更新者: dskmori,