如何向网站添加推送通知?

Posted

技术标签:

【中文标题】如何向网站添加推送通知?【英文标题】:How to add a push notification to a website? 【发布时间】:2018-04-17 13:53:12 【问题描述】:

我正在尝试向我的网站添加推送通知。当用户登录时,他们将收到一条通知,提醒他们添加结果。我在 chrome 弹出窗口中找到了代码,但它似乎不起作用。

<script>
Notification.requestPermission(function(status) 
    console.log('Notification permission status:', status);
);

function displayNotification() 
 if(Notification.permission=="granted")
                    jQuery('#notification-head').hide();
                    notify=new Notification("New Blog Available",
                    body:"Demo paragraph",
                    icon:'bg-Img.png',
                    tag:'12222'
                    );
                    notify.onclick=function()
                    notify.close();
      

</script>

【问题讨论】:

好吧,至少你的 displayNotification 函数中缺少结尾 @Rantanen,我认为它更像是桌面通知,而不是那样的弹出警报。 @entiendoNull 谢谢我添加了一个额外的 但它只询问我是否允许通知,它实际上并没有显示! 您在检查是否已获得许可之前请求许可。 只需将您的代码替换为 mdn 上的示例...developer.mozilla.org/en-US/docs/Web/API/Notifications_API/… 【参考方案1】:

您需要在函数末尾添加一个花括号。你可以看看this example。另外,你永远不会调用displayNotification,你需要使用这个:

Notification.requestPermission(function(status) 
  console.log('Notification permission status:', status);
  displayNotification();
);

function displayNotification() 
    if(Notification.permission == "granted")
    $('#notification-head').hide();
    let notify = new Notification("New Blog Available", 
        body:"Demo paragraph",
        icon:'bg-Img.png',
        tag:'12222'
    );
    notify.onclick = function()
     notify.close();
      
    

【讨论】:

您在检查是否已获得许可之前请求许可。 那又怎样?如果它已经被授予它不会有所作为。 对不起,我的错误。我做了一个小的编辑,以便能够删除它 好的,没问题。

以上是关于如何向网站添加推送通知?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 PHP 网站向 iOS 和 Android 发送推送通知?

当网站关闭时,推送通知如何在每个浏览器上工作?

如何向推送通知警报视图添加操作?

使用 ionic 和谷歌云在网站上发送特定事件的推送通知

在维护开始前向所有网站用户推送通知消息

Web 推送通知:如何使用 Web 推送 PHP 库?