Wenn Sie die Dokumentation unter Notification unter MDN und WHATWG betrachten, scheint es keine Möglichkeit zu geben, den Widerruf von Berechtigungen anzufordern. Sie könnten jedoch Ihre eigene Version der Berechtigungen emulieren, indem Sie localStorage verwenden, um diese fehlende Funktionalität zu unterstützen. Angenommen, Sie haben ein Kontrollkästchen, mit dem Benachrichtigungen aktiviert werden.
<input type="checkbox" onChange="toggleNotificationPermissions(this);" />
Sie Ihre Erinnerung Berechtigungen unter dem notification-permissions
Schlüssel im lokalen Speicher, und aktualisieren Sie die Erlaubnis Zustand ähnlich speichern:
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;
}
});
}
}
Sie könnten die Berechtigungen abrufen wie:
function getNotificationPermissions() {
if (Notification.permissions === 'granted') {
return localStorage.getItem('notification-permissions');
} else {
return Notification.permissions;
}
}
Wenn Sie eine Benachrichtigung anzeigen möchten, überprüfen Sie Ihre Berechtigungen:
if (getNotificationPermissions() === 'granted') {
new Notification(/*...*/);
}
In Ordnung, ich dachte, das sei der Fall. Dann werden wir die Option wählen, es anderswo zu speichern. Danke für Ihre Antwort. –