サーバーからデータを取得する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 秒後に非アクティブになり、アラームが起動しないことです。
助言がありますか、