Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is only available in Service Workers.
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.
Use the event name in methods like addEventListener(), or set an event handler property.
addEventListener("push", (event) => { })
onpush = (event) => { }
A PushEvent. Inherits from Event.
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.
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,
);
| Specification |
|---|
| Push API> # extensions-to-the-serviceworkerglobalscope-interface> |
| Push API> # dom-serviceworkerglobalscope-onpush> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
push_event |
40 | 17 | 44 | 24 | 16Notifications are supported on macOS Ventura and later. |
40 | 48 | 24 | 16.4Notifications are supported in web apps saved to the home screen. |
4.0 | 40 | NoNotifications are supported in web apps saved to the home screen. |
© 2005–2025 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