This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
The PushEvent
interface of the Push API represents a push message that has been received. This event is sent to the global scope of a ServiceWorker
. It contains the information sent from an application server to a PushSubscription
.
PushEvent.PushEvent()
PushEvent
object.Inherits properties from its parent, ExtendableEvent
. Additional properties:
PushEvent.data
Read only
PushMessageData
object containing data sent to the PushSubscription
.
Methods
Inherits methods from its parent, ExtendableEvent
.
The following example takes data from a PushEvent
and displays it on all of the service worker's clients.
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'); } }); });
Specification | Status | Comment |
---|---|---|
Push API The definition of 'PushEvent' in that specification. | Working Draft | Initial definition. |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 42.0 | 44.0 (44.0)[1][2] | No support | ? | No support |
data property | No support | 44.0 (44.0)[2] | No support | No support | No support |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | No support | No support | 48.0 (48)[3] | No support | No support | No support | No support | 42.0 |
data property | No support | No support | 48.0 (48)[3] | No support | No support | No support | No support | No support |
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PushEvent