我只是制作一个简单的Chrome扩展程序。
我希望我的后台页面(或部分内容)每5分钟执行一次,以获取一些数据并显示桌面通知(如果有的话)。如何执行此操作
答案 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分钟)