Экземпляры браузера Firefox в расширении

Я создаю расширение в Firefox, и мне интересно, есть ли способ узнать при открытии браузера, сколько экземпляров открыто с помощью javascript?

Например, я открываю один экземпляр браузера Firefox и хочу получить количество текущих экземпляров.

Любые идеи?


person Tony    schedule 25.07.2013    source источник
comment
Например, вы говорите об отдельных вкладках или окнах (каждое со своим набором вкладок)?   -  person Filipe Silva    schedule 27.07.2013
comment
Что я не знаю, как ты это делаешь, извини.   -  person Filipe Silva    schedule 27.07.2013


Ответы (1)


Нашел то, что может вам помочь:

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);
person Filipe Silva    schedule 29.07.2013