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.
- 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);
}
- 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);
}