--- title: Notification slug: Web/API/notification tags: - API - API Notifications - Interface - Notifications - Reference translation_of: Web/API/Notification ---
{{APIRef("Web Notifications")}}{{AvailableInWorkers}}{{securecontext_header}}
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.
Notification
.Ces propriétés ne sont disponibles que sur l'objet Notification
lui-même.
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.Ces propriétés ne sont disponibles que sur les instances de l'objet Notification
.
options
du constructeur.options
du constructeur.options
du constructeur.options
du constructeur.options
du constructeur.options
du constructeur.options
du constructeur.Ces méthodes ne sont disponibles que sur l'objet Notification
lui-même.
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 {{domxref ("EventTarget")}}.
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'{{glossary("Origin","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 {{htmlelement ("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écification | État | Commentaire |
---|---|---|
{{SpecName('Web Notifications')}} | {{Spec2('Web Notifications')}} | Living standard |
{{Compat("api.Notification")}}