W3cubDocs

/Web APIs

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.

js

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.

js

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

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

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
push_event 40 17 44 No 24
16Supported on macOS 13 and later
40 40 48 24 No 4.0

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/push_event