The notification
read-only property of the NotificationEvent
interface returns the instance of the Notification
that was clicked to fire the event. The Notification
provides read-only access to many properties that were set at the instantiation time of the Notification such as tag
and data
attributes that allow you to store information for deferred use in the notificationclick
event.
self.addEventListener("notificationclick", (event) => {
console.log("On notification click");
console.log(`Notification Tag: ${event.notification.tag}`);
console.log(`Notification Data: ${event.notification.data}`);
event.notification.close();
event.waitUntil(
clients
.matchAll({
type: "window",
})
.then((clientList) => {
for (const client of clientList) {
if (client.url === "/" && "focus" in client) return client.focus();
}
if (clients.openWindow) return clients.openWindow("/");
}),
);
});