Guardando la documentazione su Notification a MDN e WHATWG, non sembra essere un modo per richiedere la revoca delle autorizzazioni. Tuttavia, è possibile emulare la propria versione delle autorizzazioni utilizzando localStorage per supportare tale funzionalità mancante. Supponiamo che tu abbia una casella di controllo che abilita o disabilita le notifiche.
<input type="checkbox" onChange="toggleNotificationPermissions(this);" />
È possibile memorizzare le autorizzazioni ricordate sotto la chiave notification-permissions
nella memoria locale, e aggiornare lo stato permesso di simile a:
function toggleNotificationPermissions(input) {
if (Notification.permissions === 'granted') {
localStorage.setItem('notification-permissions', input.checked ? 'granted' : 'denied');
} else if (Notification.permissions === 'denied') {
localStorage.setItem('notification-permissions', 'denied');
input.checked = false;
} else if (Notification.permissions === 'default') {
Notification.requestPermission(function(choice) {
if (choice === 'granted') {
localStorage.setItem('notification-permissions', input.checked ? 'granted' : 'denied');
} else {
localStorage.setItem('notification-permissions', 'denied');
input.checked = false;
}
});
}
}
Si potrebbe recuperare le autorizzazioni come:
function getNotificationPermissions() {
if (Notification.permissions === 'granted') {
return localStorage.getItem('notification-permissions');
} else {
return Notification.permissions;
}
}
Quando si desidera visualizzare una notifica, controllare le autorizzazioni:
if (getNotificationPermissions() === 'granted') {
new Notification(/*...*/);
}
OK, ho pensato che fosse il caso. Poi andremo per l'opzione di salvarlo altrove. Grazie per la risposta. –