разрабатываю расширение для FireFox, 
как в JS узнать информацию об открытых страницах в браузере, наверное нужно подключить какой XPCOM-компонент, только вот не знаю что подключить?

https://developer.mozilla.org/en/Code_s … g_browsers

прошел по ссылке, получил следующий код:

Выделить код

Код:

var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
var mainWindow = wm.getMostRecentWindow("navigator:browser"); 
var num = mainWindow.gBrowser.browsers.length;
var consoleService = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);
for (var i = 0; i < num; i++) {  
  var b = mainWindow.gBrowser.getBrowserAtIndex(i);  
  try {  
    consoleService.logStringMessage( i + ': ' + "b.currentURI.spec: " + b.currentURI.spec );
  }
  catch(e) 
  {  
    Components.utils.reportError( e );  
  }  
}

а можно ли узнать загружена ли страница уже или еще грузится?

https://developer.mozilla.org/en/XUL/br … ebProgress
или начиная с firefox 3.6 можно использовать readyState

Shutnik! Огромное спасибо!!!!

Код для проверки какие вкладки загружены:

Выделить код

Код:

var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
var mainWindow = wm.getMostRecentWindow("navigator:browser"); 
var num = mainWindow.gBrowser.browsers.length;
var consoleService = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);
for (var i = 0; i < num; i++) {  
  var b = mainWindow.gBrowser.getBrowserAtIndex(i);  
  try {  
    consoleService.logStringMessage( i + ': ' + "b.currentURI.spec: " + b.currentURI.spec );
    consoleService.logStringMessage( i + ': ' + "b.webProgress.isLoadingDocument: " + b.webProgress.isLoadingDocument ); // Если возвращает true - страница загружена, иначе грузится
  }
  catch(e) 
  {  
    Components.utils.reportError( e );  
  }  
}