通知权限总是被拒绝

时间:2017-11-23 04:37:03

标签: javascript angularjs notifications

我正在使用Notification.permission检查浏览器是否允许通知。

我的代码用于检查通知权限,如下所示。

    // Let's check if the browser supports notifications
    if (!("Notification" in window)) {
           alert("This browser does not support desktop notification");
    }
    var prm = Notification.permission;
    if (prm == 'default' || prm == 'denied') {
          console.log("permission denied or default");
    }else{
         console.log("permission granted");
    }

此代码在我的localhost中正常运行,但是当我尝试在生产中使用时,它总是会被拒绝状态。 我的浏览器通知设置始终允许在此网站上enter image description here 但我不知道问题是什么。 需要帮助。

1 个答案:

答案 0 :(得分:3)

这很容易说: [Deprecation] Notification API可能不再用于不安全的来源。您应该考虑将应用程序切换到安全的来源,例如HTTPS。有关详细信息,请参阅google's advice。 (匿名)@?message = unique-identifier = 123:25 ?message = unique-identifier = 123:26被拒绝 你应该看起来像这样: [linkExample1][2] - 适用于index.html或[linkExampe2][2]

Here is the link 它无法在线工作 但您可以在本地服务器上运行只需创建任何html(htm)文件并运行它HTTPS协议然后在您的网址中选择Allow选项: Hear is what i mean

  

一个小的问题不要在本实验中使用私人隐身模式) -   安全原因 不支持推送通知 私有或   隐身模式



    let dnperm = document.getElementById('dnperm');
    let dntrigger = document.getElementById('dntrigger');

    dnperm.addEventListener('click', function(e){
        e.preventDefault();

        if(!window.Notification){
            alert("Notification not supported!");
        }else{
            Notification.requestPermission().then(function(permission) {
                console.log(permission);
                if(permission === 'denied'){
                    alert('You Have Denied Notification!');
                }else if(permission === 'granted'){
                    alert('You Have Granted notification.');
                }
            })
        }
    });

    // simulate

    dntrigger.addEventListener('click', function(e){
        let notify;

        e.preventDefault();

        console.log(Notification.permission);

        if(Notification.permission === 'default'){
            alert('Please allow notification before doing this');
        }else {
            notify = new Notification('New Message From Romzik', {
                body: 'How are you today? Is it really is a lovely day.',
                icon: 'img/msg-icon.png',
                tag: 'unique-identifier=123' // msg-id
            });

            notify.onclick = function (ev) {
                console.log(this);
                window.location = '?message=' + this.tag;
            }
        }


    })

<body>
<a href="" id="dnperm">Request permission</a>
<a href="" id="dntrigger">Trigger</a>
</body>
&#13;
&#13;
&#13;