Chrome桌面通知

时间:2017-09-20 09:54:45

标签: google-chrome notifications

我使用此代码将桌面通知推送到客户端:

// Let's check if the browser supports notifications
if (!("Notification" in window)) {
    toast(type, title, body);
}

// Let's check whether notification permissions have already been granted
else if (Notification.permission === "granted") {
    // If it's okay let's create a notification
    var notification = new Notification(title, options);
}

// Otherwise, we need to ask the user for permission
else if (Notification.permission !== 'denied') {
    Notification.requestPermission(function (permission) {
        // If the user accepts, let's create a notification
        if (permission === "granted") {
            var notification = new Notification(title, options);
        } else {
            // toast(type, title, body);
        }
    });
}

问题是,当通知设置设置为AllowedDefault (Ask)时,浏览器不会向客户显示通知,也不会要求许可。
无论上述代码如何,当我在Chrome开发者工具控制台中输入Notification.permission时,denined(同时设置为Allowed) chrome版本是63.x.

1 个答案:

答案 0 :(得分:0)

一旦您拒绝通知,您就不会立即再次收到提示。这是为了防止网站向用户发送垃圾邮件。

这可能是测试期间的问题。幸运的是,如果您打开Chrome的通知设置,则可以删除该条目,这样您就可以访问首次访问者流程。通知设置会不时移动,因此您可能不得不四处寻找。我安装的版本是Chrome 60,其通知设置位于chrome:// settings / content / notifications。