有没有办法让用户选择禁用 webkitNotifications?如果我requestPermission()
第二次打电话,它不会提示用户。
问问题
704 次
3 回答
0
我只请求权限一次,然后让用户配置他是否想从配置面板接收通知。
您可以将此选项存储在服务器或客户端的数据库中,使用localStorage
.
显示通知
if (notificationsEnabled) {
var notification = new window.Notification("Hello");
}
加载时恢复设置
$(function () {
notificationsEnabled = JSON.parse(localStorage.getItem('notificationsEnabled') || false);
$('#notificationsEnabled').prop('checked', notificationsEnabled);
if (!window.Notification) {
$('#notificationsEnabled').prop('disabled', true);
}
});
设置
<label>
<input id="notificationsEnabled" name="notificationsEnabled" type="checkbox">
Enable notifications
</label>
处理复选框上的 onchange 事件
$('#notificationsEnabled').on('change', function() {
notificationsEnabled = !notificationsEnabled;
localStorage.setItem('notificationsEnabled', notificationsEnabled);
if (notificationsEnabled && window.Notification.permission === 'default') {
window.Notification.requestPermission();
}
});
于 2015-06-08T14:47:10.880 回答
-1
您可以尝试在代码中预设用户对通知的偏好:
于 2013-02-14T17:46:18.393 回答
-1
如果你在 Chrome 中试试这个:
- 调出菜单(隐藏在地址栏的右侧)
- 点击“设置”
- 点击“显示高级设置... ”
- 在“隐私”下单击“内容设置”
- 在“通知”下单击“管理例外”
您可以在那里重置通知。
于 2013-05-02T08:41:49.513 回答