检测浏览器推送通知已启用并显示警报

时间:2018-07-12 15:09:47

标签: javascript push-notification alert

我已为我的网站启用了推送通知。当用户单击我网站上的链接时,请求将发送到浏览器,并且用户必须单击“允许”或“不允许”。有没有一种方法可以检测通知是否已打开,并显示一个JavaScript警报框以及成功启用推送通知的消息?仅当用户允许在他/她的浏览器中进行通知时才显示。示例:

  
      
  1. 用户单击链接。
  2.   
  3. 用户在浏览器中单击允许。
  4.   
  5. 将出现警告消息:“已成功启用”
  6.   

另一个例子:

  
      
  1. 用户单击链接。
  2.   
  3. 用户单击浏览器中的“不允许”。
  4.   
  5. 将出现警告消息:“启用错误”
  6.   

有人了解我吗?如果还有其他问题,请发表评论,我会添加更多信息。感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

Notification.requestPermission()是一个承诺,可以通过用户选择的权限来解决。

https://developer.mozilla.org/en-US/docs/Web/API/Notification/requestPermission

var myLink = document.getElementById("myLink");

myLink.addEventListener("click", function() {
   Notification.requestPermission().then(function(result) {
      if (result === 'denied' || result === 'default' ) {
        alert("Error with enabling");
        return;
      }
      alert("Succesfully enabled");
    });
});
<a id="myLink" href="#">Link</a>