首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在google chrome中检查用户是否已经允许通知?

如何在google chrome中检查用户是否已经允许通知?
EN

Stack Overflow用户
提问于 2016-06-23 00:12:16
回答 2查看 10.3K关注 0票数 15

我有一个模式,首先弹出询问用户是否想要接收特别优惠,如果他们点击是,然后我拉入推送通知的代码,以便他们可以允许通知。如果他们已经允许通知,我不希望弹出模式。我正在寻找一种方法来检查通知是否已经被用户允许,使用谷歌铬。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-23 00:14:49

检查通知对象的permission属性:

代码语言:javascript
复制
if (Notification.permission !== "granted") {
    // ask for permission
票数 31
EN

Stack Overflow用户

发布于 2016-06-24 19:38:04

除了Denys Séguret回答的Notification.permission之外,还有较新的、不太受支持但更通用的Permissions API.

这里有一个基于the one from MDN:的快速用法示例

代码语言:javascript
复制
function handlePermission() {
    return navigator.permissions
            .query({name:'notifications'})
            .then(permissionQuery)
            .catch(permissionError);
}

function permissionQuery(result) {
    console.debug({result});
    var newPrompt;

    if (result.state == 'granted') {
        // notifications allowed, go wild

    } else if (result.state == 'prompt') {
        // we can ask the user
        newPrompt = Notification.requestPermission();

    } else if (result.state == 'denied') {
        // notifications were disabled
    }

    result.onchange = () => console.debug({updatedPermission: result});

    return newPrompt || result;
}

////

handlePermission();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37973304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档