PushEvent

Baseline 2023

Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Expérimental: 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.

Constructeur

PushEvent.PushEvent()

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 Lecture seule

Retourne une référence à un objet PushMessageData contenant les données transmises au PushSubscription.

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.

js
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

Specification
Push API
# pushevent-interface

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi