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 auPushSubscription
.
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
Specification |
---|
Push API # pushevent-interface |
Compatibilité des navigateurs
BCD tables only load in the browser