Необходим повесить событие на смену URL и переключение таба.
Пробовал так(часть кода из другого дополнения)

Выделить код

Код:

window.addEventListener('load', function(){
    gBrowser.addProgressListener(alert('www'), Components.interfaces.nsIWebProgress.NOTIFY_LOCATION);
} , true);

, но срабатывает только при открытии брузера =(

https://developer.mozilla.org/en/XUL%3A … ssListener
https://developer.mozilla.org/en/Code_s … _Listeners

gBrowser.addProgressListener(alert('www'), Components.interfaces.nsIWebProgress.NOTIFY_LOCATION);

=>

gBrowser.addProgressListener(undefined, Components.interfaces.nsIWebProgress.NOTIFY_LOCATION);

Там должна быть ссылка на объект, у которого должен быть метод onLocationChange и, скорее всего, все остальные, описанные по ссылке.

Большое человеческое спасибо!

Выделить код

Код:

main = {
    onLocationChange: function(){
        alert('www');
    }
}
window.addEventListener('load', function(){
    gBrowser.addProgressListener(main, Components.interfaces.nsIWebProgress.NOTIFY_LOCATION);
} , true);

Появился еще вопрос.
Нужно получить URL окна, хотел использовать "document.domain", но отвечает "undefined".
)=

URL какого окна?

Выделить код

Код:

onLocationChange: function(aProgress, aRequest, aURI)
  {
   // This fires when the location bar changes; i.e load event is confirmed
   // or when the user switches tabs. If you use myListener for more than one tab/window,
   // use aProgress.DOMWindow to obtain the tab/window which triggered the change.
  },

К тому же, там нигде нету свойства "domain": https://developer.mozilla.org/en/DOM/window.location.