我有这个插件,它在打开的页面上插入以下“元”标签。向下结束时,我想关闭所有标签页眉。使用javascript在Firefox中使用特定元标签关闭标签
<meta id="CLOSE_LATER">
我已经写了一个简单的for循环:
var TAG = "CLOSE_LATER";
var tabs = require("sdk/tabs");
for(var i=0; i<tabs.length; i++){
var tab = tabs[i];
console.log("****START****");
console.log("CLOSING TAB : "+i+"of : "+tabs.length);
searchTag(tab, TAG,i)
.then(function success(rValue) {
if (rValue) {
tab.close();
console.log("CLOSED i: "+i);
}
else{
console.log("NOT CLOSED i: "+i);
}
}, function failure(error) {
console.log("Error : searchTag()");
});
console.log("****END****");
}
凡searchTag()连接脚本的页面 “seachtag.js” 搜索TAG。
searchTag()返回解析为真的promise,它在页面上找到TAG,否则解析为FALSE。
示例情况:我有3个URL,其中只有URL-2和URL-3标记了TAG。所以只应该关闭URL-2 & 3,但只关闭URL-3。
下面是示例日志:
我从输出中看到的是searchTag()返回TRUE/FALSE for循环继续,变量“tab”现在保持最后一个选项卡,并且由于searchTag()返回TRUE,它被关闭。如何暂停从前进到下一个循环,直到searachTag()返回一个值? – Gabriel