目前,我正在尝试按顺序(同步)执行一定数量的脚本注入。简而言之,我希望能够为Z次数注入脚本xyz.js。
我目前有代码将脚本注入硬编码的次数。此代码如下所示:
chrome.tabs.executeScript(tab.ib,{file: "inject.js"}, function(resp){
chrome.tabs.executeScript(tab.ib,{file: "inject.js"}, function(resp){
});
});
使用这种方法,我只是将注射嵌套到先前注射的回调函数中。但是,这种同步调用多次进样的方法必须进行硬编码。因此,我无法执行此同步注入序列的次数。
如何更改代码以允许我以可变的次数同步注入代码?
注意:这些注入是注入相同的文件,因为它根据网页的条件执行不同的内容。另请注意,它必须是同步的,因为文件的行为取决于先前的文件注入。最后,请注意,由于程序的运行方式,它不能简单地组合成一个大文件。
答案 0 :(得分:1)
你可以使用递归。
(function loop(n) {
if(n > 1) chrome.tabs.executeScript(tab.ib,{file: "inject.js"}, function(resp){
loop(n - 1);
});
})(10);