【问题标题】:Options for closing a notification关闭通知的选项
【发布时间】:2019-09-26 12:33:21
【问题描述】:

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

阅读MDN documentation for a Notification constructor 后,我想不出一种方法来配置通知,使其带有多个选项(上例中的“安装”和“稍后”选项)来关闭它。

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

来自 MDN 文档:

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

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

任何建议将不胜感激。

【问题讨论】:

    标签: node.js html notifications electron


    【解决方案1】:

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

    对于支持它的浏览器,你可以这样使用它:

    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

    【讨论】:

      猜你喜欢
      • 2022-01-10
      • 1970-01-01
      • 2018-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      相关资源
      最近更新 更多