我正在使用HTML5 Notification API创建一个Electron应用程序,并希望当用户关闭通知时,每个通知都向用户显示几个选项,如下所示:
在阅读MDN documentation for a Notification constructor之后,我想不出一种配置通知的方式,即它带有多个关闭选项(上例中为“ Install”和“ Later”选项)它。
actions
对象中的options
属性(传递给Notification
构造函数的第二个参数)看起来很有希望,但是缺少有关“ NotificationAction”对象的文档,这使得它很难理解如何实现此功能。
从MDN文档中:
actions:一组表示动作的NotificationActions 呈现通知时对用户可用。这些是 用户可以选择的选项,以便对其中的操作采取行动 通知本身的上下文。动作的名称发送到 服务工作者通知处理程序,以使其知道该操作是 由用户选择。
目前,在关闭通知时,我只有一个选项(“关闭”)。
任何建议将不胜感激。
答案 0 :(得分:0)
对于支持该功能的浏览器,您可以像这样使用它:
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