PushEvent

Experimental

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

L'interface PushEvent de l'API Push représente un message Push qui a été reçu. Cet événement est envoyé au scope global d'un ServiceWorker. Il contient les informations transmises de l'application serveur vers un PushSubscription (en-US).

Constructeur

PushEvent.PushEvent() (en-US)
Créer un nouvel objet PushEvent.

Propriétés

Hérite des propriétés de son parent, ExtendableEvent. Propriétés additionnelles:

PushEvent.data (en-US) Lecture seule
Retourne une référence à un objet PushMessageData (en-US) contenant les données transmises au PushSubscription (en-US).

Méthodes

Hérite des méthodes de son parent, ExtendableEvent.

Exemples

L'exemple suivant prends les données du PushEvent et les affiche sur tous les clients du service worker.

self.addEventListener('push', function(event) {
  if (!(self.Notification && self.notification.permission === 'granted')) {
    return;
  }

  var data = {};
  if (event.data) {
    data = event.data.json();
  }
  var title = data.title || "Something Has Happened";
  var message = data.message || "Here's something you might want to check out.";
  var icon = "images/new-notification.png";

  var notification = new Notification(title, {
    body: message,
    tag: 'simple-push-demo-notification',
    icon: icon
  });

  notification.addEventListener('click', function() {
    if (clients.openWindow) {
      clients.openWindow('https://example.blog.com/2015/03/04/something-new.html');
    }
  });
});

Spécifications

Spécification Statut Commentaire
Push API
La définition de 'PushEvent' dans cette spécification.
Version de travail Définition intiale

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi