1

フィードの更新バージョンを約 1 時間ごとにチェックするフィード リーダーを作成しようとしています。

私の問題は、イベント ページが 20 秒以内に非アクティブになるように見えることです。

どうすれば長持ちしますか?

コードの重要な部分を次に示します。

manifest.json で:

"background": {
    "scripts": ["eventPage.js"],
    "persistent": false
},

および eventPage.js で:

function testFunc () {
    alert("test")
}
setInterval(testFunc, 10 * 1000) // was testing the number of seconds here

私は何を間違っていますか?

ありがとうございました!

よろしく、

ジョン

4

1 に答える 1

7

を使用setIntervalしてコードを定期的に実行すると、バックグラウンド ページでは正常に機能しますが、イベント ページでは機能しません。これは、ページが長時間アイドル状態になるとイベント ページが非アクティブになるためです。

イベント ページで定期的なタスクをスケジュールする正しい方法は、chrome.alarmsAPI を使用することです。

chrome.alarms.onAlarm.addListener(function(alarm) {
    if (alarm.name == 'name-of-alarm') {
        // Do something...
        testFunc();
    }
});

// Create the alarm:
chrome.alarms.create('name-of-alarm', {
    periodInMinutes: 60
});
于 2013-03-18T18:52:08.017 に答える