W3cubDocs

/DOM

ServiceWorkerGlobalScope.onnotificationclick

The ServiceWorkerGlobalScope.onnotificationclick property is an event handler called whenever the notificationclick event is dispatched on the ServiceWorkerGlobalScope object, that is when a user clicks on a displayed notification spawned by ServiceWorkerRegistration.showNotification().

Notifications created on the main thread or in workers which aren't service workers using the Notification() constructor will instead receive a click event on the Notification object itself.

Note: Trying to create a notification inside the ServiceWorkerGlobalScope using the Notification() constructor will throw an error.

Syntax

ServiceWorkerGlobalScope.onnotificationclick = function(NotificationEvent) { ... };

Example

self.onnotificationclick = function(event) {
  console.log('On notification click: ', event.notification.tag);
  event.notification.close();

  // This looks to see if the current is already open and
  // focuses if it is
  event.waitUntil(clients.matchAll({
    type: "window"
  }).then(function(clientList) {
    for (var i = 0; i < clientList.length; i++) {
      var client = clientList[i];
      if (client.url == '/' && 'focus' in client)
        return client.focus();
    }
    if (clients.openWindow)
      return clients.openWindow('/');
  }));
};

Specifications

Specification Status Comment
Notifications API
The definition of 'onnotificationclick' in that specification.
Living Standard Initial definition. This property is specified on the Notifications_API even though it's part of ServiceWorkerGlobalScope.

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 40 ? 42
42
Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR).
No 24 11.1
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support 40 40 ? 42 24 11.1 4.0

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/onnotificationclick