Notification.permission
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Nota: Esta característica está disponible en Web Workers.
Contexto seguro: Esta función está disponible solo en contextos seguros (HTTPS), en algunos o todos los navegadores que lo soportan.
La propiedad de solo lectura permission
de la interfaz Notification
indica el permiso concedido por el usuario al origen actual para mostrar notificaciones web.
Sintaxis
var permission = Notification.permission;
Valor
Una DOMString
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
El siguiente código podría ser usado si quisieras primero comprobar si las notificaciones son soportadas, luego comprobar si los permisos han sido concedidos al origen actual para enviar notificaciones, y luego solicitar permiso de ser requerido, antes de enviar una 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
Specification |
---|
Notifications API Standard # dom-notification-permission |
Compatibilidad con Navegadores
BCD tables only load in the browser