JavaScript Notification.permission — стан дозволу на сповіщення
Статична властивість Notification.permission показує поточний стан дозволу — не питаючи користувача.
автор: NagarD
Загальний опис
Три значення: 'granted' (дозволено), 'denied' (заборонено), 'default' (ще не питали).
Це те, що треба перевіряти перед тим, як питати. Якщо там уже denied, запитувати марно — вікно не з'явиться, а метод одразу поверне ту саму відмову.
І навпаки: якщо granted, питати теж не треба — можна одразу показувати.
Стан не змінюється сам собою: користувач може скинути його лише в налаштуваннях браузера, і сторінка про це не дізнається, доки не перевірить.
автор: NagarD
Переглядачі
Приклади
+ запропонувати свій приклад у пісочниці
Три стани — три різні сценарії.
const button = {
hidden: 'значення'
};
switch (Notification.permission) {
case 'granted':
// можна показувати одразу
button.hidden = true;
break;
case 'denied':
// питати марно — вікна не буде
hint.textContent = 'Сповіщення заблоковано в налаштуваннях браузера';
break;
case 'default':
// ще не питали — покажемо кнопку
button.hidden = false;
break;
}
автор: NagarD