2010-12-20 120 views
3

我今天正在製作我的第一個Firefox擴展。到目前爲止,我已經做了一些...但現在我想要計算用戶已打開的Firefox窗口的數量(例如3)我可以計算標籤,這很容易,但我似乎無法找出如何循環瀏覽窗口並計算它們(窗口!=選項卡,就像窗口中的選項卡,對不起,我希望這是有道理的,即使Mozilla會將它混淆在編碼中)。我基本上認爲,我迷失方法名稱。 ..第一個插件幫助 - 通過windows循環循環使用for循環

,所以我認爲這將是這樣的:

var tomato = SOMETHING HERE MYSTERY DIFFICULT!!!!; 
for (var i = 0; i < tomato; i++) { 
WINDOW COUNTER HERE (EASY) 
    } 

任何想法如何做到這一點?

回答

5

您正在尋找nsIWindowMediator - 從MDC一個片段:

var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] 
        .getService(Components.interfaces.nsIWindowMediator); 
var enumerator = wm.getEnumerator(type); 
while(enumerator.hasMoreElements()) { 
    var win = enumerator.getNext(); 
    // win is [Object ChromeWindow] (just like window), do something with it 
} 
+0

由於現在完成了! – David19801 2010-12-20 21:15:40

+3

使用「navigator:browser」(帶引號)來代替'type',並且可以使用'win.gBrowser.browsers.length'來獲取每個窗口中的標籤數量。 – pawel 2010-12-20 21:20:56