javascript - 删除 chrome 扩展中的 chrome.alarms 监听器

标签 javascript google-chrome google-chrome-extension

在 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/

相关文章:

javascript - 绕圆旋转一条线

javascript - 返回资源对象而不是 Mongoose.count 值

javascript - 在 keyCode == "enter"(13) 上提交表单

google-chrome - Chrome 桌面通知 - 更大的尺寸

javascript - Mac OS X 上的 Chrome 扩展 : Window popups disappear

javascript - 包含具有指定属性值的子元素的列表项的选择器

javascript - Jquery Javascript 仅适用于 chrome 和 firefox,但不适用于 IE

开发者控制台打开时 Flash 播放器消失

google-chrome - Google Chrome 扩展 - 单击工具栏图标时打开新选项卡

javascript - 扩展 list 必须请求访问此主机的权限