我正在尝试创建一个Feed阅读器,每小时左右检查一次Feed的更新版本。
我的问题是,事件页面似乎在不到20秒后变为非活动状态。
如何让它持续更长时间?
以下是代码的一些重要部分:
manifest.json中的:
"background": {
"scripts": ["eventPage.js"],
"persistent": false
},
并在eventPage.js中:
function testFunc () {
alert("test")
}
setInterval(testFunc, 10 * 1000) // was testing the number of seconds here
我做错了什么?
谢谢!
此致
约翰
答案 0 :(得分:7)
使用setInterval
定期运行某些代码可以在background pages上正常运行,但不能在event pages上运行,因为当页面空闲了很长时间时,事件页面会变为非活动状态。
在事件页面上安排定期任务的正确方法是使用chrome.alarms
API:
chrome.alarms.onAlarm.addListener(function(alarm) {
if (alarm.name == 'name-of-alarm') {
// Do something...
testFunc();
}
});
// Create the alarm:
chrome.alarms.create('name-of-alarm', {
periodInMinutes: 60
});