Firefox浏览器扩展实例



我正在Firefox中构建一个扩展,我想知道在打开浏览器时是否有办法知道使用javascript打开了多少个实例?

例如,我打开Firefox浏览器的一个实例,我想得到当前实例的数量。

有什么想法吗?

找到了可以帮助您的东西:

nsIWindowMediator是一个跟踪打开的窗口的组件。它有getEnumerator方法,允许您获取所有打开的窗口。

如果你循环浏览,并对它们进行计数,你就会得到打开窗口的数量,就像这样:

var windowMediator = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    .getService(Components.interfaces.nsIWindowMediator);
var enumerator = windowMediator.getEnumerator(null);
var count = 0;
while (enumerator.hasMoreElements()) {
    var myWindow = enumerator.getNext();
    count++;
}
alert(count);

最新更新