ServiceWorkerGlobalScope: push event

The push event is sent to a service worker's global scope (represented by the ServiceWorkerGlobalScope interface) when the service worker has received a push message.

This event is not cancelable and does not bubble.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

addEventListener('push', (event) => { });

onpush = (event) => { };

Event type

Event properties

Inherits properties from its parent, ExtendableEvent. Additional properties:

PushEvent.data Read only

Returns a reference to a PushMessageData object containing data sent to the PushSubscription.

Example

This example sets up a handler for push events that takes JSON data, parses it, and dispatches the message for handling based on information contained within the message.

self.addEventListener("push", (event) => {
  let message = event.data.json();

  switch(message.type) {
    case "init":
      doInit();
      break;
    case "shutdown":
      doShutdown();
      break;
  }
}, false);

Specifications

Specification
Push API
# extensions-to-the-serviceworkerglobalscope-interface
Push API
# dom-serviceworkerglobalscope-onpush

Browser compatibility

BCD tables only load in the browser

See also