Делается это с помощью события «TabSelect», которое нужно навесить на объект gBrowser.tabContainer (контейнер вкладок в браузере).
Таким вот образом это реализуется:
// Функция обработки события смены вкладки.
var myHandlerFunction = function () {
//...
}
// Добавляем обработчик
gBrowser.tabContainer.addEventListener("TabSelect", myHandlerFunction, false);
// Удаляем обработчик
gBrowser.tabContainer.removeEventListener("TabSelect", myHandlerFunction, false);
Доступны такие события вкладок браузера:
TabSelect — событие смены вкладки;
TabOpen — событие открытия вкладки;
TabClose — событие закрытия вкладки;
NewTab — событие создания новой вкладки;
TabMove — событие перемещения вкладки.
Молодца