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

时间:2010-12-20 20:22:47

标签: javascript firefox firefox-addon xul

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

所以我认为它会像:

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

知道怎么做吗?

1 个答案:

答案 0 :(得分: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
}