关闭通知的选项

时间:2019-05-08 17:47:53

标签: node.js html5 notifications electron

我正在使用HTML5 Notification API创建一个Electron应用程序,并希望当用户关闭通知时,每个通知都向用户显示几个选项,如下所示:

在阅读MDN documentation for a Notification constructor之后,我想不出一种配置通知的方式,即它带有多个关闭选项(上例中为“ Install”和“ Later”选项)它。

actions对象中的options属性(传递给Notification构造函数的第二个参数)看起来很有希望,但是缺少有关“ NotificationAction”对象的文档,这使得它很难理解如何实现此功能。

从MDN文档中:

  

actions:一组表示动作的NotificationActions   呈现通知时对用户可用。这些是   用户可以选择的选项,以便对其中的操作采取行动   通知本身的上下文。动作的名称发送到   服务工作者通知处理程序,以使其知道该操作是   由用户选择。

目前,在关闭通知时,我只有一个选项(“关闭”)。

enter image description here

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

在撰写本文时,通知操作尚未得到广泛支持。 Browser Compatability

对于支持该功能的浏览器,您可以像这样使用它:

self.registration.showNotification('New message from Alice', {
    actions: [
        {action: 'like', title: 'Like'},
        {action: 'reply', title: 'Reply'}
    ]
});

然后获取用户单击的内容,如下所示:

self.addEventListener('notificationclick', function(event) {
    var messageId = event.notification.data;

    event.notification.close();

    if (event.action === 'like') {
        silentlyLikeItem();
    }
    else if (event.action === 'reply') {
        clients.openWindow("/messages?reply=" + messageId);
    }
    else {
        clients.openWindow("/messages?reply=" + messageId);
    }
}, false);

您可以在https://developers.google.com/web/updates/2016/01/notification-actions

上阅读详细信息

要查看实际效果,您可以签出https://tests.peter.sh/notification-generator/#actions=3