在Chrome扩展程序中,使用以下示例代码创建警报并添加监听器非常容易:
chrome.alarms.create(idAlarm, {
when: dateAlarm,
periodInMinutes: parseInt(repeatAlarm)
});
chrome.alarms.onAlarm.addListener(function (alarm) {
//TODO with Listener (when alarm is activated)
)};
但是,稍后,如果我打电话
crome.alarms.clear(idAlarm);
警报已清除,但监听器仍处于活动状态。什么是“动态”删除特定警报的监听器的最佳方法?
我认为我必须致电chrome.alarms.onAlarm.removeListener()
,但没有办法让这个电话有效。
答案 0 :(得分:2)
我绝对不是关于chrome扩展的专家(从来没有写过),但是看看文档,我认为你必须命名听众函数然后这样做:
function alarmListener(alarm) {
if (alarm == "myAlarmIdentifier") {
// Do stuff.
}
}
chrome.alarms.create("myAlarmIdentifier", {
when: dateAlarm,
periodInMinutes: parseInt(repeatAlarm)
});
chrome.alarms.onAlarm.addListener(alarmListener);
然后删除闹钟和remove the listener:
chrome.alarms.clear("myAlarmIdentifier");
chrome.alarms.onAlarm.removeListener(alarmListener);