我正在创建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);
});
我不知道我做错了什么。 任何想法如何解决它将正确运行?
(对不起我的英文)
答案 0 :(得分:2)
第二个参数需要以毫秒(千分之一秒)为单位。根据变量名称,您似乎已经过了几分钟。例如,如果您希望回调每分钟运行一次:
setInterval(function () { /* snip */ }, 1000*60);
答案 1 :(得分:0)
Chrome会在非活动标签上排队setTimeout / setInterval并更改minimal timeout length。