在 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()
但没有找到使此调用有效的方法。
最佳答案
我绝对不是 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);
关于javascript - 删除 chrome 扩展中的 chrome.alarms 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21959193/