我无法弄清楚如何阻止我的Chrome扩展程序同时显示多个通知。目前,该扩展程序允许用户设置最多5个警报时间,这将导致显示通用通知。
当我设置多个闹钟然后让我的Mac进入睡眠状态时,会出现问题。如果我在闹钟时间过后唤醒电脑,再过10-20秒,所有通知都会同时显示在屏幕上:
背景页面的控制台显示这些通知在相隔几毫秒的时间内出现,即使它们是由相隔一分钟的警报触发的。
我编写了一些简单的代码,可以在显示新通知之前清除待处理的待处理通知,但此代码并不能阻止计算机处于睡眠状态时的这种特殊情况。 (它适用于其他情况,其中同步通知会追溯显示,例如当用户使用其他应用程序全屏并返回到chrome时。)
以下是我删除“待处理”通知的代码:
chrome.notifications.getAll(function(notifications) {
// clear out any notifications already pending so there's no dupes!
Object.keys(notifications).forEach(function(notificationID) {
console.log("clearing notification ID: " + notificationID);
chrome.notifications.clear(notificationID);
});
});
我不确定chrome是如何在后台处理通知和警报的。如何阻止通知同时出现的任何帮助都会很棒。
答案 0 :(得分:0)
谢谢@wOxxOm,这很有用!
我确实需要在原始闹钟时间内添加几秒钟才能使比较正常工作:
component