【发布时间】:2016-05-15 01:33:19
【问题描述】:
根据 MDN 的 Notification.permission 规范,我们可以检查当前用户对 Web 通知的权限。
但是,有什么方法可以监听此权限更改?像这样?
.on(Notification.permission, 'changed', function(){ }
【问题讨论】:
标签: javascript web permissions notifications listener
根据 MDN 的 Notification.permission 规范,我们可以检查当前用户对 Web 通知的权限。
但是,有什么方法可以监听此权限更改?像这样?
.on(Notification.permission, 'changed', function(){ }
【问题讨论】:
标签: javascript web permissions notifications listener
我相信现在回答有点晚了,但是……你可以用这个。
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);
};
});
}
});
【讨论】:
你只需要
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);
};
});
}
【讨论】: