PushEvent.data

Experimental

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.

Syntax

var myPushData = PushEvent.data;

Value

A PushMessageData object.

Examples

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')) {
    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');
    }
  });
});

Specifications

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

Browser compatibility

BCD tables only load in the browser