我有這個插件,它在打開的頁面上插入以下「元」標籤。向下結束時,我想關閉所有標籤頁眉。使用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