この記事は編集レビューを必要としています。ぜひご協力ください。
これは実験段階の機能です。
この機能は複数のブラウザで開発中の状態にあります。各ブラウザで用いるために、適切なベンダー接頭辞が必要な場合があります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザの将来のバージョンで変更になる可能性があることに注意してください。
PushEvent インターフェースの data 読み取り専用プロパティは、PushSubscription に送信されてたデータを含む PushMessageData オブジェクトへの参照を返します。
構文
var myPushData = PushEvent.data;
値
PushMessageData オブジェクト
例
次の例は、 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 data の定義 |
草案 | 初期定義 |
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| 基本サポート | 未サポート | 44.0 (44.0)[1] | 未サポート | ? | 未サポート |
| 機能 | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|---|
| 基本サポート | 未サポート | 未サポート | 48.0 (48)[2] | 未サポート | 未サポート | 未サポート | 未サポート | 未サポート |
- [1] Push(と Service Workers) は、Firefox 45 延長サポート版(ESR)では使用できません。
- [2] Firefox for Android 48 から、既定で Push を使用できます。