我正在编写一个需要发送通知的网络应用程序。它每 30 秒检查 12 个不同的事物,如果其中一个符合标准,它应该发送通知;然后它不应该在接下来的 30 分钟(整点和整点半)间隔之前发送另一个通知。您如何检查通知是否已经发送并且不再发送?我认为这是通过标签完成的,但仍然会弹出两个具有相同标签的通知,第二个将替换第一个。
用于生成通知的函数是
function randomNotification(whoisit, tagtoPass) {
var message = whoisit + " is getting a notification";
var options = {
body: message,
icon: 'logo.png',
tag: tagtoPass,
}
var n = new Notification('Website Says:',options);
setTimeout(n.close.bind(n), 5000);
}
该函数从另一个脚本调用,该脚本每 30 秒通过 Ajax 加载一次。该脚本检查数据库以查看 12 件事情中的一件是否处于需要通知的状态,然后调用该函数并在该 30 分钟间隔内传递名称和唯一标签。
我还注意到,这段代码基于 Mozilla on Notifications API 的开发人员文档,并没有将通知添加到 OS X 通知中心。