从通知列表中删除持久通知(通知 API)

Remove persistent notification from list of notifications (Notifications API)

从服务工作者调用 self.registration.getNotifications({ tag: tag }) 时,返回的数组始终包含已被替换的旧通知。例如:

showNotification('A', { tag: 'abc' }) // Displays the first notification
getNotifications({ tag: 'abc' }) // Returns [ NotificationA ]
showNotification('B', { tag: 'abc' }) // Replaces the previous notification
getNotifications({ tag: 'abc' }) // Returns [ NotificationB, NotificationA ]
showNotification('C', { tag: 'abc' }) // Replaces the previous notification
getNotifications({ tag: 'abc' }) // Returns [ NotificationC, NotificationB, NotificationA ]

尽管 Notification API 规范清楚 steps for replacing a notification:

  1. ...
  2. Replace old with new, in the same position, in the list of notifications.
  3. ...

该实现将旧通知保留在列表中,直到从代码中显式调用 .close() 或直到用户单击通知本身的 [x] 按钮,隐式地 运行 .close().