Chrome扩展程序计划eventPage从服务器获取数据

时间:2013-08-28 11:28:00

标签: javascript json google-chrome google-chrome-extension

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

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秒左右后变为非活动状态,并且警报不会触发。

任何建议,

1 个答案:

答案 0 :(得分:1)

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