chrome扩展,每x分钟执行一次

Li *_*ong 7 javascript google-chrome-extension

我只是做一个简单的chrome扩展.

我希望我的后台页面(或部分)每5分钟执行一次,以获取一些数据并显示桌面通知(如果有的话).我怎么能这样做

Xan*_*Xan 20

重要说明:如果使用" 事件"页面("persistent": false在清单中)进行扩展,则setInterval5分钟间隔将失败,因为后台页面将被卸载.

如果您的扩展使用window.setTimeout()或window.setInterval(),请切换到使用警报API.如果事件页面关闭,则不会遵守基于DOM的计时器.

在这种情况下,您需要使用chrome.alarmsAPI 实现它:

chrome.alarms.create("5min", {
  delayInMinutes: 5,
  periodInMinutes: 5
});

chrome.alarms.onAlarm.addListener(function(alarm) {
  if (alarm.name === "5min") {
    doStuff();
  }
});
Run Code Online (Sandbox Code Playgroud)

在持久性背景页面的情况下,setInterval仍然是可接受的解决方案.


Nic*_*dze 5

实现这一目标的一种方法是:

setInterval(your_function, 5 * 60 * 1000)
Run Code Online (Sandbox Code Playgroud)

your_function每5分钟执行一次(5*60*1000毫秒= 5分钟)

  • 5年内没有人指出setInterval需要几毫秒而不是几秒? (7认同)