1

我正在尝试创建一个提要阅读器,每隔一小时左右检查一次提要的更新版本。

我的问题是事件页面似乎在不到 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

我究竟做错了什么?

谢谢!

问候,

约翰

4

1 回答 1

7

使用setInterval定期运行某些代码在后台页面上运行良好,但在事件页面上却不行,因为当页面长时间空闲时,事件页面会变为非活动状态。

在事件页面上安排定期任务的正确方法是使用chrome.alarmsAPI:

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
});
于 2013-03-18T18:52:08.017 回答