これは実験段階の機能です。
この機能は複数のブラウザで開発中の状態にあります。各ブラウザで用いるために、適切なベンダー接頭辞が必要な場合があります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザの将来のバージョンで変更になる可能性があることに注意してください。
Push API の PushEvent インターフェースは、受け取ったプッシュメッセージを表します。このイベントは、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 の定義 |
草案 | 初期定義。 |
ブラウザ実装状況
| 機能 | 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 を使用できます。