0

Chrome 拡張機能を作成していますが、間隔を使用する必要があります。

インターバルが毎回オフになる時間は、ユーザー自身が選択します。

この関数は、開いているすべてのタブで実行され、データを送信します。

私の問題は、「タイマー」が本来のように機能しないことです。通常の while ループのように一度に実行されるだけです。

コードは次のとおりです。

chrome.tabs.query({}, function (tabs) {
//the times the code need to run is by the amount of tabs that is open
        setInterval(function () {
            if (i < tabs.length) {

                chrome.tabs.sendRequest(tabs[i].id, { input: "uCanSend",

                    userName: myName,
                    password: myPass,

                    subject: mySubject, msg: myMsg,

                    linkName1: myLinkName1,
                    linkURL1: myLinkURL1,

                    linkName2: myLinkName2,
                    linkURL2: myLinkURL2

                }, function (response) { });

            }
            i++;
        }, timeInMintus //the time that the code need to run every time);
    });

何が間違っているのかわかりません。正しく実行されるように修正する方法はありますか?

(私の英語でごめんなさい)

4

2 に答える 2

2

2番目の引数はミリ秒(1000分の1秒)である必要があります。変数名に基づいて、分を過ぎているように見えます。たとえば、コールバックを1分ごとに実行する場合:

setInterval(function () { /* snip */ }, 1000*60);
于 2012-07-24T17:55:45.470 に答える
0

Chromeは、非アクティブなタブでsetTimeout / setInterval呼び出しをキューに入れ、最小タイムアウト長を変更します。

于 2012-07-24T18:07:32.610 に答える