--- title: PushEvent slug: Web/API/PushEvent tags: - API - ExtendableEvent - Interface - Offline - Push - Push API - Reference - Service Workers - Workers translation_of: Web/API/PushEvent ---
{{APIRef("Push API")}}{{SeeCompatTable()}}
Push API の PushEvent インターフェースは、受け取ったプッシュメッセージを表します。このイベントは、{{domxref("ServiceWorker")}} の グローバルスコープに送信されます。これは、アプリケーションサーバーから {{domxref("PushSubscription")}} に送信された情報を含みます。
PushEvent オブジェクトを生成します。親である {{domxref("ExtendableEvent")}} からプロパティを継承しています。追加プロパティ:
メソッド
親である {{domxref("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 self.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');
}
});
});
| 仕様 | 状態 | コメント |
|---|---|---|
| {{SpecName('Push API','#the-push-event','PushEvent')}} | {{Spec2('Push API')}} | 初期定義。 |
{{Compat("api.PushEvent")}}