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

时间:2011-12-13 13:56:45

标签: javascript google-chrome-extension

我只是制作一个简单的Chrome扩展程序。

我希望我的后台页面(或部分内容)每5分钟执行一次,以获取一些数据并显示桌面通知(如果有的话)。如何执行此操作

2 个答案:

答案 0 :(得分:19)

重要说明:如果您使用Event page(清单中为"persistent": false)进行扩展,则{5}间隔的setInterval将失败,因为后台页面将被卸载。< / p>

  

如果您的扩展使用window.setTimeout()或window.setInterval(),请转而使用警报API。如果事件页面关闭,基于DOM的计时器将不会受到尊重。

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

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

chrome.alarms.onAlarm.addListener(function(alarm) {
  if (alarm.name === "5min") {
    doStuff();
  }
});

如果是持久性背景网页,setInterval仍然可以接受solution

答案 1 :(得分:5)

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

setInterval(your_function, 5 * 60 * 1000)

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