We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS


This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The data read-only property of the PushEvent interface returns a reference to a PushMessageData object containing data sent to the PushSubscription.


var myPushData = PushEvent.data;


A PushMessageData object.


The following example takes data from a PushEvent and displays it on all of the service workers' clients.

self.addEventListener('push', function(event) {
  if (!(self.Notification && self.notification.permission === 'granted')) {

  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) {


Specification Status Comment
Push API
The definition of 'data' in that specification.
Working Draft Initial definition.

Browser Compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support57



442 3 No44 No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support No57 No



44 No4.0

1. From version 16: this feature is behind the Enable service workers preference.

2. Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)

3. Enabled only in Nightly, Developer Edition, and Beta channels.

4. Push enabled by default.

Document Tags and Contributors

Contributors to this page: dnlnav, fscholz, chrisdavidmills, marco-c
Last updated by: dnlnav,