Ich habe ein Modal, das zuerst erscheint fragt, ob der Benutzer spezielle Angebote erhalten möchte, wenn sie ja klicken, dann ziehe ich den Code für Push-Benachrichtigungen, so dass sie Benachrichtigungen zulassen können. Wenn sie bereits Benachrichtigungen erlaubt haben, möchte ich nicht, dass das Modal erscheint. Ich bin auf der Suche nach einer Möglichkeit zu überprüfen, ob Benachrichtigungen vom Nutzer bereits erlaubt wurden, mit Google Chrome.Wie überprüft man, ob Benachrichtigungen von Google Chrome-Nutzern bereits erlaubt sind?
2
A
Antwort
4
überprüfen Sie die permission
Eigenschaft des Objekts Mitteilung:
if (Notification.permission !== "granted") {
// ask for permission
1
Neben Notification.permission
wie Denys Séguret beantwortet gibt es die neueren, weniger gut unterstützt, aber allgemeinere Permissions API.
Hier ist ein schnelles Anwendungsbeispiel, basierend auf the one from MDN:
function handlePermission() {
return navigator.permissions
.query({name:'notifications'})
.then(permissionQuery)
.catch(permissionError);
}
function permissionQuery(result) {
console.debug({result});
var newPrompt;
if (result.state == 'granted') {
// notifications allowed, go wild
} else if (result.state == 'prompt') {
// we can ask the user
newPrompt = Notification.requestPermission();
} else if (result.state == 'denied') {
// notifications were disabled
}
result.onchange =() => console.debug({updatedPermission: result});
return newPrompt || result;
}
////
handlePermission();
+0
Danke! Ich werde es mir auch merken. – cmac
Verwandte Themen
- 1. wie überprüft man, ob BLAS und ATLAS bereits installiert sind
- 2. Wie überprüft man, ob Konturen gleich sind?
- 3. TCL: Wie überprüft man, ob die Umgebungsvariable bereits gesetzt ist
- 4. Wie überprüft man, ob jQuery bereits im Cache ist?
- 5. Firebase-Datenbankregel - Wie überprüft man, ob der Login bereits existiert?
- 6. Wie überprüft man, ob Header bereits in PHP gesendet wurden
- 7. Wie überprüft man, ob NSTimer bereits ungültig gemacht wurde
- 8. Wie überprüft man, ob ein viewStub bereits aufgeblasen ist?
- 9. Ajax Wie überprüft man, ob der Benutzername bereits existiert?
- 10. Wie überprüft man, ob zwei Formatzeichenfolgen kompatibel sind?
- 11. sage mathematik: wie überprüft man, ob zwei Ausdrücke äquivalent sind?
- 12. Wie überprüft man, ob der Ordner bereits in Google Drive vorhanden ist?
- 13. wie überprüft man, ob zwei Matrizen in OpenCV identisch sind
- 14. Wie man überprüft, ob zwei NSDates vom selben Tag sind
- 15. Wie überprüft man, ob zwei Datenrahmen gleich sind
- 16. wie überprüft man, ob 3 Zeichen in alphabetischer Reihenfolge sind
- 17. Wie überprüft man, ob zwei Knoten verbunden sind?
- 18. Wie überprüft man, ob Hintergrunddaten auf dem Android aktiviert sind?
- 19. Wie überprüft man, ob zwei Wörter Anagramme sind Python
- 20. Wie überprüft man, ob Attribute mit RelaxNG eindeutig sind?
- 21. Wie überprüft man, ob alle Zellenwerte gleich 0 sind
- 22. Wie überprüft man, ob iPhone und Apple Watch verbunden sind
- 23. Wie überprüft man, ob alle Werte im Array identisch sind?
- 24. Wie überprüft man, ob Cookies leer sind oder nicht
- 25. Wie überprüft man, ob zwei Pfade in Bash gleich sind?
- 26. Wie überprüft man, ob 2 Dateien mit .NET gleich sind?
- 27. Wie überprüft man, ob optionale Klassenargumente angegeben sind oder nicht?
- 28. Wie überprüft man, ob Formularelemente nicht leer sind?
- 29. Wie überprüft man, ob in PHP nur Leerzeichen enthalten sind?
- 30. Wie überprüft man, ob alle Felder in Oracle eindeutig sind?
Vielen Dank! Funktioniert perfekt. – cmac
Auch Notification.permission! == "verweigert". – Satys