Это легко объяснить - функция, которую вы добавляете как слушатель, и функция, которую вы удаляете, отличаются.Попробуйте запустить этот код:
alert(function(){ Fabogore.Load();} == function(){ Fabogore.Load();});
Это покажет вам false
, каждый раз, когда вы определяете функцию в своем коде, создается новая функция.Чтобы решить вашу проблему, вам нужно определить одну функцию, сохранить ссылку на нее и использовать ее как для добавления, так и для удаления слушателя:
var listener = function(){ Fabogore.Load();};
var listenerTab = window.gBrowser.selectedTab;
listenerTab.addEventListener("load", listener, true);
[...]
listenerTab.removeEventListener("load", listener, true);
Обратите внимание, что я также сохранил значениеwindow.gBrowser.selectedTab
в переменной - к тому времени, когда вы решите удалить слушателя, выбранная вкладка может уже измениться.Вы хотите удалить слушателя из вкладки, на которой вы его добавили, а не какой-либо другой вкладки.