第一个Addon帮助 - 使用for循环遍历窗口

Dav*_*801 3 javascript firefox xul firefox-addon

我今天正在制作我的第一个firefox扩展程序.到目前为止我已经做了一点......但现在我想计算用户打开的firefox窗口的数量(例如3)我可以计算标签,这很容易到目前为止...但我似乎无法找到如何循环浏览窗口并计算它们(窗口!=标签,像标签在窗口内,对不起,我希望这是有道理的,甚至mozilla将它混淆在他们的编码中)我认为基本上,我迷失了方法名称. ..

所以我认为它会像:

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

知道怎么做吗?

paw*_*wel 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
}
Run Code Online (Sandbox Code Playgroud)

  • 使用"navigator:browser"(带引号)代替`type`,你可以使用`win.gBrowser.browsers.length`来获取每个窗口中的标签数量. (3认同)