2

我正在尝试使用 Chrome 警报 API 创建一个使用两个不同警报的 Chrome 扩展程序。我想创建两个特定的侦听器,每个侦听器由不同的警报处理:

chrome.alarms.onAlarm.addListener(function(timer) {
  reminder.displayMessage();
});

chrome.alarms.onAlarm.addListener(function(walk) {
  reminder.displayWalkMessage();
});


chrome.alarms.create('timer', {
  delayInMinutes: 5,
  periodInMinutes: parseInt(time)
});


chrome.alarms.create('walk', {
  delayInMinutes: 30,
  periodInMinutes: 60
});

我遇到的问题是,似乎当一个警报触发时,两个事件处理程序都会被触发。有没有办法指定哪个处理程序被警报触发?

4

1 回答 1

3

将两个事件侦听器替换为单个事件侦听器:

chrome.alarms.onAlarm.addListener(function(alarm) {
  if(alarm.name === "timer"){
      reminder.displayMessage();
  }
  else if(alarm.name === "walk"){
      reminder.displayWalkMessage();
  }
});

的回调函数的参数onAlarm是类型的对象alarm

于 2015-05-05T04:02:10.843 回答