Ricerca…


Sintassi

  • Notification.requestPermission ( callback )
  • Notification.requestPermission (). Then ( callback , rejectFunc )
  • nuova notifica ( titolo , opzioni )
  • notifica .close ()

Osservazioni

L'API di notifica è stata progettata per consentire l'accesso del browser alla notifica del client.

Il supporto dei browser potrebbe essere limitato. Anche il supporto del sistema operativo può essere limitato.

La tabella seguente offre una panoramica delle prime versioni del browser che forniscono supporto per le notifiche.

Cromo Bordo Firefox Internet Explorer musica lirica Opera Mini Safari
29 14 46 nessun supporto 38 nessun supporto 9.1

Richiesta di autorizzazione per l'invio di notifiche

Usiamo Notification.requestPermission per chiedere all'utente se desidera ricevere notifiche dal nostro sito 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.
    }
});

Dal momento che Firefox 47 Il metodo .requestPermission può anche restituire una promessa quando si gestisce la decisione dell'utente di concedere l'autorizzazione

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

Invio di notifiche

Dopo che l'utente ha approvato una richiesta di autorizzazione per l'invio di notifiche , possiamo inviare una semplice notifica che dice Hello all'utente:

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

Questo invierà una notifica come questa:

Ciao

Ciao mondo!

Chiusura di una notifica

È possibile chiudere una notifica utilizzando il metodo .close() .

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

È possibile utilizzare la funzione setTimeout per chiudere automaticamente la notifica in futuro.

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

Il codice precedente genererà una notifica e la chiuderà dopo 4 secondi.

Eventi di notifica

Le specifiche API di notifica supportano 2 eventi che possono essere attivati ​​da una notifica.

  1. L'evento click .

Questo evento verrà eseguito quando si fa clic sul corpo della notifica (esclusa la X di chiusura e il pulsante di configurazione Notifiche).

Esempio:

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

La notifica attiverà questo evento ogni volta che qualcosa di sbagliato accadrà, come non essere in grado di visualizzare

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow