我正在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);