我开发了一个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秒左右后变为非活动状态,并且警报不会触发。
任何建议,
答案 0 :(得分:1)
我找到了答案:将chrome.alarms添加到pageEvent.js,即使后台处于非活动状态,它也会在闹钟时间到来时运行闹钟功能。