Web Notifications API - 每个期间仅显示一次

时间:2017-10-08 00:38:35

标签: javascript html5 notifications web-notifications

我正在编写一个需要发送通知的网络应用。它每30秒检查12个不同的东西,如果其中一个符合标准,它应该发送通知;然后它不应该发送另一个通知,直到下一个30分钟(小时和半小时)间隔。如何检查是否已发送通知而不是再次发送通知?我认为这是通过标签完成的,但仍然会弹出两个带有相同标签的通知,第二个只会替换第一个。

用于生成通知的函数是

INSERT INTO a(b) VALUES ('a');

从另一个每隔30秒通过Ajax加载的脚本调用该函数。该脚本检查数据库以查看12个事物中的一个是否处于需要通知的状态,然后调用该函数并传递该名称和30分钟间隔的唯一标记。

此外,我注意到此代码基于Mozilla on Notifications API的开发人员文档,不会将通知添加到OS X通知中心。

1 个答案:

答案 0 :(得分:2)

您是否考虑过使用localStorage中的标志来存储上次发送通知的时间?

假设您存储发送第一个通知的时间,然后再次检查,如果它已经足够大,则发送另一个并更新该标志。

即使刷新网页,

localStorage数据也会保留。

示例:

localStorage.setItem("last_notification", timestamp)
localStorage.getItem("last_notification")

参考:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage