Buscar..
Sintaxis
- Notification.requestPermission ( devolución de llamada )
- Notification.requestPermission (). Then ( callback , rejectFunc )
- Nueva notificación ( título , opciones )
- notificación .close ()
Observaciones
La API de notificaciones fue diseñada para permitir el acceso del navegador a la notificación al cliente.
El soporte de los navegadores puede ser limitado. También el soporte por el sistema operativo puede ser limitado.
La siguiente tabla proporciona una descripción general de las versiones más antiguas del navegador que brindan soporte para notificaciones.
Cromo | Borde | Firefox | explorador de Internet | Ópera | mini Opera | Safari |
---|---|---|---|---|---|---|
29 | 14 | 46 | sin soporte | 38 | sin soporte | 9.1 |
Solicitando Permiso para enviar notificaciones
Usamos Notification.requestPermission
para preguntar al usuario si desea recibir notificaciones de nuestro sitio 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.
}
});
Desde Firefox 47 El método .requestPermission
también puede devolver una promesa al manejar la decisión del usuario de otorgar permiso
Notification.requestPermission().then(function(permission) {
if (!('permission' in Notification)) {
Notification.permission = permission;
}
// you got permission !
}, function(rejection) {
// handle rejection here.
}
);
Enviando notificaciones
Después de que el usuario haya aprobado una solicitud de permiso para enviar notificaciones , podemos enviar una notificación simple que dice Hola al usuario:
new Notification('Hello', { body: 'Hello, world!', icon: 'url to an .ico image' });
Esto enviará una notificación como esta:
Hola
¡Hola Mundo!
Cerrando una notificación
Puede cerrar una notificación utilizando el método .close()
.
let notification = new Notification(title, options);
// do some work, then close the notification
notification.close()
Puede utilizar la función setTimeout
para cerrar automáticamente la notificación en el futuro.
let notification = new Notification(title, options);
setTimeout(() => {
notification.close()
}, 4000);
El código anterior generará una notificación y la cerrará después de 4 segundos.
Eventos de notificación
Las especificaciones de la API de notificaciones admiten 2 eventos que pueden activarse mediante una notificación.
- El evento
click
.
Este evento se ejecutará cuando haga clic en el cuerpo de la notificación (excluyendo la X de cierre y el botón de configuración de Notificaciones).
Ejemplo:
notification.onclick = function(event) {
console.debug("you click me and this is my event object: ", event);
}
- El evento de
error
La notificación activará este evento siempre que ocurra algo incorrecto, como no poder mostrar
notification.onerror = function(event) {
console.debug("There was an error: ", event);
}