Chrome扩展程序 - 事件页面在不到20秒后处于非活动状态

时间:2013-03-18 18:26:26

标签: google-chrome google-chrome-extension

我正在尝试创建一个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

我做错了什么?

谢谢!

此致

约翰

1 个答案:

答案 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
});