通知を送信する必要がある Web アプリを作成しています。30 秒ごとに 12 の異なる項目をチェックし、そのうちの 1 つが基準を満たす場合、通知を送信する必要があります。その後、次の 30 分間隔 (毎時 1 時間半) まで、別の通知を送信するべきではありません。通知が既に送信されているかどうかを確認し、再度送信しないようにするにはどうすればよいですか? これはタグを介して行われたと思っていましたが、同じタグを持つ 2 つの通知が引き続きポップアップし、2 番目の通知が最初の通知を置き換えるだけです。
通知の生成に使用される関数は次のとおりです。
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 個のうちの 1 つが通知を必要とする状態にあるかどうかを確認し、関数を呼び出して、その 30 分間隔の名前と一意のタグを渡します。
また、通知APIに関するMozillaの開発者ドキュメントに基づいたこのコードで、通知がOS X通知センターに追加されないことに気付きました。