0

我开发了一个 Chrome 扩展程序,它从服务器(如 rss 阅读器)获取数据,因为数据总是可更新的,我想定期获取数据,所以我将文件设置如下:

manifest.json:

"permissions": [
                "alarms",
                 ,
                 ,
                 ,
                 ],
"background": {
    "scripts": ["scripts/lib/jquery-1.9.1.min.js", "scripts/app/eventPage.js"],
    "persistent": false
},

eventPage.js :
var url = ".....=?";

function getJSONData() {
    $.getJSON(this.url, function (data) {
    var newItems = [];
    newItems = data.query.results.item;
    localStorage.setItem("savedJSONData", JSON.stringify(newItems));
});
}

chrome.alarms.onAlarm.addListener(function (alarm) {
    if (alarm.name == 'getNewJobs') {
        getJSONData();
    }
});

// Create the alarm:
chrome.alarms.create('getNewJobs', {
    periodInMinutes: 30
});

从服务器获取新数据后,我将它们存储在 localStorage 中,并在我从 localStorage 读取的弹出窗口中。

问题是事件页面在 20 秒左右后变为非活动状态,并且警报不会触发。

有什么建议么,

4

1 回答 1

1

我找到了答案:将 chrome.alarms 添加到 pageEvent.js 中,即使后台处于非活动状态,它也会在闹钟时间到来时运行闹钟功能。

于 2013-09-03T11:55:02.500 回答