Notification
Note: Cette fonctionnalité est disponible via les Web Workers.
Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.
L'interface Notification de l'API Notifications est utilisée pour configurer et afficher les notifications de bureau à l'utilisateur. L'apparence et les fonctionnalités spécifiques de ces notifications varient selon les plates-formes, mais elles permettent généralement de fournir des informations de manière asynchrone à l'utilisateur.
Constructeur
Notification()
-
Créer une nouvelle instance de l'object
Notification
.
Propriétés
Propriétés statiques
Ces propriétés ne sont disponibles que sur l'objet Notification
lui-même.
Notification.permission
Lecture seule-
Une chaîne représentant l'autorisation actuelle d'afficher les notifications. Les valeurs possibles sont:
denied
— L'utilisateur refuse d'afficher des notifications.granted
— L'utilisateur accepte d'afficher des notifications.default
— Le choix de l'utilisateur est inconnu et donc le navigateur agira comme si la valeur était refusée.
Notification.maxActions
Lecture seule-
Le nombre maximal d'actions pris en charge par l'appareil et l'agent utilisateur.
Propriétés de l'instance
Ces propriétés ne sont disponibles que sur les instances de l'objet Notification
.
Notification.actions
Lecture seule-
Tableau d'actions de la notification comme spécifié dans le paramètre
options
du constructeur. Notification.badge
Lecture seule-
L'URL de l'image utilisée pour représenter la notification lorsqu'il n'y a pas assez d'espace pour afficher la notification elle-même.
Notification.body
Lecture seule-
Une chaîne représentant le corps de la notification telle que spécifiée dans le paramètre
options
du constructeur. Notification.data
Lecture seule-
Renvoie un clone structuré des données de la notification.
Notification.dir
Lecture seule-
La direction du texte de la notification comme spécifié dans le paramètre
options
du constructeur. Notification.lang
Lecture seule-
Code de langue de la notification tel que spécifié dans le paramètre
options
du constructeur. Notification.tag
Lecture seule-
L'ID de la notification (le cas échéant) tel que spécifié dans le paramètre
options
du constructeur. Notification.icon
Lecture seule-
L'URL de l'image utilisée comme icône de la notification comme spécifié dans le paramètre
options
du constructeur. Notification.image
Lecture seule-
L'URL d'une image à afficher dans le cadre de la notification, comme spécifié dans le paramètre
options
du constructeur. Notification.renotify
Lecture seule-
Spécifie si l'utilisateur doit être averti après qu'une nouvelle notification remplace l'ancienne.
Notification.requireInteraction
Lecture seule-
Un
Boolean
indiquant qu'une notification doit rester active jusqu'à ce que l'utilisateur clique dessus ou la rejette, plutôt que de se fermer automatiquement. Notification.silent
Lecture seule-
Spécifie si la notification doit être silencieuse, c'est-à-dire qu'aucun son ou vibration ne doit être émis, quels que soient les paramètres de l'appareil.
Notification.timestamp
Lecture seule-
Spécifie l'heure à laquelle une notification est créée ou applicable (passée, présente ou future).
Notification.title
Lecture seule-
Le titre de la notification tel que spécifié dans le premier paramètre du constructeur.
Notification.vibrate
Lecture seule-
Spécifie un modèle de vibration pour les périphériques dotés d'un matériel de vibration à émettre.
Gestionnaires d'événements
Notification.onclick
-
Un gestionnaire pour l'événement
click
. Il est déclenché à chaque fois que l'utilisateur clique sur la notification. Notification.onclose
-
Un gestionnaire pour l'événement
close
. Il est déclenché lorsque l'utilisateur ferme la notification. Notification.onerror
-
Un gestionnaire pour l'événement
error
. Il est déclenché chaque fois que la notification rencontre une erreur. Notification.onshow
-
Un gestionnaire pour l'événement
show
. Il est déclenché lorsque la notification est affichée.
Méthodes
Méthodes statiques
Ces méthodes ne sont disponibles que sur l'objet Notification
lui-même.
Notification.requestPermission()
-
Demande l'autorisation à l'utilisateur d'afficher les notifications.
Méthodes d'instance
Ces propriétés ne sont disponibles que sur une instance de l'objet Notification
ou via son prototype. L'objet Notification
hérite également de l'interface EventTarget
.
Notification.close()
-
Ferme programmatiquement une instance de notification.
Exemples
Supposons ce HTML de base:
<button onclick="notifyMe()">Notifie moi !</button>
Il est possible d'envoyer une notification comme suit - nous présentons ici un ensemble de code assez détaillé et complet que vous pourriez utiliser si vous vouliez d'abord vérifier si les notifications sont prises en charge, puis vérifiez si l'autorisation a été accordée pour l'origine actuelle d'envoyer des notifications, puis demander l'autorisation si nécessaire, avant d'envoyer une notification.
function notifyMe() {
// Vérifions si le navigateur prend en charge les notifications
if (!("Notification" in window)) {
alert("Ce navigateur ne prend pas en charge la notification de bureau");
}
// Vérifions si les autorisations de notification ont déjà été accordées
else if (Notification.permission === "granted") {
// Si tout va bien, créons une notification
const notification = new Notification("Salut toi!");
}
// Sinon, nous devons demander la permission à l'utilisateur
else if (Notification.permission !== "denied") {
Notification.requestPermission().then((permission) => {
// Si l'utilisateur accepte, créons une notification
if (permission === "granted") {
const notification = new Notification("Salut toi!");
}
});
}
// Enfin, si l'utilisateur a refusé les notifications, et que vous
// voulez être respectueux, il n'est plus nécessaire de les déranger.
}
Nous ne montrons plus d'exemple en direct sur cette page, car Chrome et Firefox n'autorisent plus les demandes de notification des <iframe>
s d'origine croisée, avec d'autres navigateurs à suivre. Pour voir un exemple en action, consultez notre exemple de liste de tâches (voir également l'application en cours d'exécution.)
Note : Dans l'exemple ci-dessus, nous générons des notifications en réponse à un geste de l'utilisateur (en cliquant sur un bouton). Il ne s'agit pas seulement d'une bonne pratique - vous ne devriez pas envoyer de spam aux utilisateurs avec des notifications qu'ils n'acceptent pas - mais les navigateurs suivants interdiront explicitement les notifications non déclenchées en réponse à un geste de l'utilisateur. Firefox le fait déjà depuis la version 72, par exemple.
Spécifications
Specification |
---|
Notifications API Standard # api |
Compatibilité des navigateurs
BCD tables only load in the browser