Recherche…


Syntaxe

  • Notification.requestPermission ( rappel )
  • Notification.requestPermission (). Then ( callback , rejectFunc )
  • nouvelle notification ( titre , options )
  • notification .close ()

Remarques

L'API Notifications a été conçue pour permettre à un navigateur de notifier le client.

La prise en charge par les navigateurs peut être limitée. La prise en charge par le système d'exploitation peut également être limitée.

Le tableau suivant donne un aperçu des versions de navigateur les plus anciennes qui prennent en charge les notifications.

Chrome Bord Firefox Internet Explorer Opéra Opera Mini Safari
29 14 46 pas de support 38 pas de support 9.1

Demander l'autorisation d'envoyer des notifications

Nous utilisons Notification.requestPermission pour demander à l'utilisateur s'il souhaite recevoir des notifications de notre site Web.

Notification.requestPermission(function() {
    if (Notification.permission === 'granted') {
        // user approved.
        // use of new Notification(...) syntax will now be successful
    } else if (Notification.permission === 'denied') {
        // user denied.
    } else { // Notification.permission === 'default'
        // user didn’t make a decision.
        // You can’t send notifications until they grant permission.
    }
});

Depuis Firefox 47 La méthode .requestPermission peut également renvoyer une promesse lors du traitement de la décision de l'utilisateur d'accorder l'autorisation

Notification.requestPermission().then(function(permission) {
    if (!('permission' in Notification)) {
        Notification.permission = permission;
    }
    // you got permission !
    }, function(rejection) {
    // handle rejection here.
    }
);

Envoi de notifications

Une fois que l'utilisateur a approuvé une demande d'autorisation pour envoyer des notifications , nous pouvons envoyer une simple notification indiquant à l'utilisateur:

new Notification('Hello', { body: 'Hello, world!', icon: 'url to an .ico image' });

Cela enverra une notification comme ceci:

Bonjour

Bonjour le monde!

Fermer une notification

Vous pouvez fermer une notification en utilisant la méthode .close() .

let notification = new Notification(title, options);
// do some work, then close the notification
notification.close()

Vous pouvez utiliser la fonction setTimeout pour fermer automatiquement la notification dans le futur.

let notification = new Notification(title, options);
setTimeout(() => {
    notification.close()
}, 4000);

Le code ci-dessus engendrera une notification et la fermera après 4 secondes.

Événements de notification

Les spécifications de l'API de notification prennent en charge 2 événements pouvant être déclenchés par une notification.

  1. L'événement de click .

Cet événement s'exécutera lorsque vous cliquerez sur le corps de la notification (à l'exception du bouton de fermeture X et du bouton de configuration Notifications).

Exemple:

notification.onclick = function(event) {
    console.debug("you click me and this is my event object: ", event);
}
  1. L'événement d' error

La notification déclenche cet événement à chaque fois que quelque chose ne va pas, comme l'impossibilité d'afficher.

notification.onerror = function(event) {
    console.debug("There was an error: ", event);
}


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow