Как прослушать изменение разрешения веб-уведомления

Согласно спецификации Notification.permission от MDN, мы можем проверить текущее разрешение пользователя для веб-уведомлений.

Однако есть ли способ выслушать это изменение разрешения? Что-то вроде этого?

.on(Notification.permission, 'changed', function(){ }

Всего 1 ответ


Я полагаю, что уже немного поздно для ответа, но ... Вы можете использовать это.

var Notification = window.Notification || window.mozNotification || window.webkitNotification;

var was_questioned = false;
if (Notification.permission == 'default') {
    was_questioned = true;
}

Notification.requestPermission(function (permission) {
    if (was_questioned) {
        console.log("User was asked. New permission is: " + permission);
    }
    if ('permissions' in navigator) {
    navigator.permissions.query({name:'notifications'}).then(function(notificationPerm) {
        notificationPerm.onchange = function() {
            console.log("User decided to change his seettings. New permission: " + notificationPerm.state);
        };
    });
    }
});

Есть идеи?

10000