你沒有提到服務工作者,但我會假設你有一個,因爲你需要它的推送和通知API。
當頁面加載時,您可以向服務工作人員發送消息,指示它關閉所有通知。然後,您可以做到這一點的工人這樣的範圍內:
self.getNotifications().then(function(notifications){
notifications.forEach(function(notification){
notification.close()
})
})
但是你可以跳過消息給服務人員,只是通過服務人員登記做到這一點從頁面如下:
navigator.serviceWorker.getRegistration().then(function(registration){
registration.getNotifications().then(function(notifications){
notifications.forEach(function(notification){
notification.close()
})
})
})
不過,請注意,getNotifications()
僅適用於Chrome 44。在Chrome 44之前或其他瀏覽器中,我不相信有辦法做到您想要的。