Chrome扩展,每x分钟执行一次
chrome extension, execute every x minutes
我只是在做一个简单的chrome扩展。
我希望我的背景页(或部分)每5分钟执行一次,以获得一些数据并显示桌面通知,如果有的话。我该怎么做呢
重要提示:如果您使用Event页面(清单中的"persistent": false
)进行扩展,setInterval
将在5分钟间隔内失败,因为背景页面将被卸载。
如果您的扩展使用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
仍然是一个可接受的解决方案。它也应该在事件页面中工作很短的时间间隔(以秒为单位,而不是以分钟为单位),但它会阻止它卸载,从而抵消了它的好处。
可以这样做:
setInterval(your_function, 5 * 60 * 1000)
每5分钟执行一次your_function
(5 * 60 * 1000毫秒= 5分钟)
相关文章:
- If语句只执行一次
- JavaScript 只在 php 代码中执行一次
- 如果只有一次有条件,如何执行
- 是节点.js一次只执行一个上下文
- 就绪函数上的指令只能执行一次
- 如何在if循环中只执行一次
- Javascript执行一次
- Jquery on('单击')..函数只执行一次
- 如何在一次有条件的ng单击时执行多个调用
- 如何只执行一次ajaxStart和ajaxEnd
- 使用Greasemonkey每5秒执行一次Javascript
- 只执行一次jquery animate
- jQuery如果大于则执行操作,但只执行一次
- 制作一个$window.location.reload(true);在离子/角度中仅执行一次
- 正则表达式回调函数只执行一次
- 如何循环函数数组并在单击时一次执行一个
- 代码只执行一次,但应该继续执行
- Casper.start 的循环只执行一次
- 如何在一次点击(而不是整个点击)内执行一次操作
- 在一次执行中多次运行Jasmine Spec