背景信息:我正在构建一个渐进的Web应用程序,它可以向服务工作者发送用户推送通知。
有没有办法确保用户浏览我的网站时,通知当前是否显示隐藏了通知?
我想避免他们导航到我的网站并且通知仍在显示的情况,现在已经过时了。
答案 0 :(得分:3)
是的,从文档中您可以清除当前显示的所有通知:
// From a document.
navigator.serviceWorker.ready.then(registration => {
registration.getNotifications().then(notifications =>
notifications.forEach(notification => notification.close()));
});
您可以选择在每次加载页面时简单地运行此代码来解决您的情况,或者您可以另外向运行此代码的文档添加focus
事件侦听器,以确保每次您的站点都应用它被引起关注。