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