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

第二个参数需要以毫秒(千分之一秒)为单位。根据变量名称,您似乎正在过几分钟。例如,如果您希望回调每分钟运行一次:

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

Chrome 将非活动标签上的 setTimeout/setInterval 调用排队并更改最小超时长度

于 2012-07-24T18:07:32.610 回答