docs.rodeo

MDN Web Docs mirror

ServiceWorkerGlobalScope: push event

{{APIRef("Push API")}} {{SecureContext_Header}} {{AvailableInWorkers("service")}} 

The push event is sent to a service worker’s global scope (represented by the {{domxref("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 {{domxref("EventTarget.addEventListener", "addEventListener()")}} , or set an event handler property.

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

onpush = (event) => {};

Event type

A {{domxref("PushEvent")}} . Inherits from {{domxref("Event")}} .

{{InheritanceDiagram("PushEvent")}} 

Event properties

Inherits properties from its parent, {{domxref("ExtendableEvent")}} . Additional properties:

Example

This example sets up a handler for push events that takes {{Glossary("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

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN