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() constructor creates a new PushEvent object. Note that the this constructor is exposed only to a service worker context.
Syntax
var myPushEvent = new PushEvent(type, eventInitDict);
Parameters
- type
- A DOMStringdefining the type ofPushEvent. This can bepushorpushsubscriptionchange.
- eventInitDict Optional
- An options object containing any initialization data you want to populate the PushEventobject with. The options are:- data: The data you want the- PushEventto contain, if any. When the constructor is invoked, the- PushEvent.dataproperty of the resulting object will be set to a new- PushMessageDataobject containing bytes extracted from the- eventInitDict datamember.
 
Example
var dataInit = {
  data : 'Some sample text'
}
var myPushEvent = new PushEvent('push', dataInit);
myPushEvent.data.text(); // should return 'Some sample text'
Specifications
| Specification | Status | Comment | 
|---|---|---|
| Push API The definition of 'PushEvent' in that specification. | Working Draft | Initial definition. | 
Browser Compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) | 
|---|---|---|---|---|---|
| Basic support | 42.0 | 44.0 (44.0)[1][2] | No support | ? | No support | 
| dataproperty | 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 | 
| dataproperty | No support | No support | 48.0 (48)[3] | No support | No support | No support | No support | No support | 
- [1] Currently enabled in Nightly/Developer Edition/Beta by default, but not in the Release channel (bug 1208560.)
- [2] Push (and Service Workers) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
- [3] Push has been enabled by default on Firefox for Android version 48.
See also
Document Tags and Contributors
    
    Tags: 
    
  
                    
                       Contributors to this page: 
        chrisdavidmills
                    
                    
                       Last updated by:
                      chrisdavidmills,