La propiedad permission
es una propiedad de sólo lectura de la interfaz Notification
. Esta propiedad indica el permiso concedido por el usuario para mostrar notificaciones.
Nota: Esta característica está disponible en Web Workers.
Sintaxis
var permission = Notification.permission;
Valor
Una DOMString
que representa el permiso actual. El valor puede ser:
granted
: El usuario ha concedido el permiso explicitamente al origen actual para mostrar notificaciones del sistema.denied
: El usuario ha denegado el permiso explicitamente al origen actual para mostrar notificaciones del sistema.-
default
: La decisión del usuario es deconocida; en este caso la aplicación actuará como si el permiso fuesedenied
Ejemplos
Podríamos usar el próximo fragmento para:
- Comprobar si las notificaciones están soportadas
- Comprobar si el permiso ha sido concedido para el origen actual
- Si ha sido concedido, lanzar la notificación
- Si no ha sido concedido, pedir el permiso
- Si se concede, lanzar la notificación
function notifyMe() {
// Comprobamos si el navegador soporta las notificaciones
if (!("Notification" in window)) {
console.log("Este navegador no es compatible con las notificaciones de escritorio");
}
// Comprobamos si los permisos han sido concedidos anteriormente
else if (Notification.permission === "granted") {
// Si es correcto, lanzamos una notificación
var notification = new Notification("Hola!");
}
// Si no, pedimos permiso para la notificación
else if (Notification.permission !== 'denied' || Notification.permission === "default") {
Notification.requestPermission(function (permission) {
// Si el usuario nos lo concede, creamos la notificación
if (permission === "granted") {
var notification = new Notification("Hola!");
}
});
}
// Por último, si el usuario ha denegado el permiso, y quieres ser respetuoso, no hay necesidad de molestarlo.
}
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
Notifications API La definición de 'permission' en esta especificación. |
Living Standard | Living standard |
Compatibilidad en navegadores
We're converting our compatibility data into a machine-readable JSON format.
This compatibility table still uses the old format,
because we haven't yet converted the data it contains.
Find out how you can help!