首页 > 解决方案 > 带有 requireInteraction 的通知 - 如何检查是否显示?

问题描述

我显示这样的“粘性”通知:

function show(text) {
  let alreadyOn = false; // ??? how to get this ???
  
  if (!alreadyOn) {
    new Notification(text, {
        requireInteraction : true
    });
  }
}

Notification.requestPermission();
show("first");
setTimeout(() => show("second"), 1000);

(注意这只是一个示例,您需要在第一次运行时允许通知并重试)

有没有办法让我的代码稍后确定此通知是否仍然打开或用户已经关闭它?那上面是怎么判断alreadyOn的?

标签: javascript

解决方案


您可以添加一个事件处理程序,该处理程序具有 在用户关闭Notification.onclose时执行某些操作的方法。Notification

Notification.onclose = function () {
  // do something...
}

推荐阅读