PushEvent
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.
Secure context: This feature is available only insecure contexts (HTTPS), in some or allsupporting browsers.
Note: This feature is only available inService Workers.
ThePushEvent interface of thePush API represents a push message that has been received. This event is sent to theglobal scope of aServiceWorker. It contains the information sent from an application server to aPushSubscription.
In this article
Constructor
PushEvent()Creates a new
PushEventobject.
Instance properties
Inherits properties from its parent,ExtendableEvent. Additional properties:
PushEvent.dataRead onlyReturns a reference to a
PushMessageDataobject containing data sent to thePushSubscription.
Instance methods
Inherits methods from its parent,ExtendableEvent.
Examples
The following example takes data from aPushEvent and displays it on all of the service worker's clients.
self.addEventListener("push", (event) => { if (!(self.Notification && self.Notification.permission === "granted")) { return; } const data = event.data?.json() ?? {}; const title = data.title || "Something Has Happened"; const message = data.message || "Here's something you might want to check out."; const icon = "images/new-notification.png"; const notification = new self.Notification(title, { body: message, tag: "simple-push-demo-notification", icon, }); notification.addEventListener("click", () => { clients.openWindow( "https://example.blog.com/2015/03/04/something-new.html", ); });});Specifications
| Specification |
|---|
| Push API> # pushevent-interface> |