Firefox addon Firefox轻量级主题列表更改事件未发送?

Firefox addon Firefox轻量级主题列表更改事件未发送?,firefox-addon,Firefox Addon,我有一个FF扩展,我想在轻量级主题列表更改时通知它。代码如下: var PesonaSwitcherObserver={ 寄存器:函数{ PersonalSwitcher.log登录寄存器; var observerService= Components.classes[@mozilla.org/observer service;1] .getServiceComponents.interfaces.nsIObserverService; observerService.addObserverP

我有一个FF扩展,我想在轻量级主题列表更改时通知它。代码如下:

var PesonaSwitcherObserver={ 寄存器:函数{ PersonalSwitcher.log登录寄存器; var observerService= Components.classes[@mozilla.org/observer service;1] .getServiceComponents.interfaces.nsIObserverService; observerService.addObserverPesonaSwitcherObserver, 轻量级主题列表更改,错误; }, 观察:功能主题、主题、数据{ PersonalSwitcher.log登录观察; 切换话题{ 案例“轻量级主题列表更改”: PersonalSwitcher.subMenu; 打破 } }, 取消注册:函数{ PersonalSwitcher.log登录注销; var observerService= Components.classes[@mozilla.org/observer service;1] .getServiceComponents.interfaces.nsIObserverService; observerService.removeObserverPesonaSwitcherObserver, 轻量级主题列表更改; } } window.addEventListenerload,PesonaSwitcherObserver.register,false; window.addEventListenerunload,PesonaSwitcherObserver.unregister,false; 日志接收in寄存器,但在我添加或删除角色时没有in观察到。我甚至看过LightweightThemeManager.jsm和

函数_updateUsedThemesList{ 召唤

Services.obs.notifyObserverSnall,轻型主题列表已更改,null; 有人知道为什么或者有什么提示吗?

我想对observer service.addObserver的调用失败了-请检查错误控制台,然后按Ctrl-Shift-J打开它。您的观察者没有实现QueryInterface函数,观察者服务将显式检查是否实现了nsIObserver。使用此函数最容易实现。如果您不想将其导入全局范围,您可能不想,因为您的代码似乎是从覆盖运行的,您可以这样做:

var PesonaSwitcherObserver={ 查询接口:Components.utils.impotresource://gre/modules/XPCOMUtils.jsm无效的 XPCOMUtils先生 .generateQI[Components.interfaces.nsIObserver], ...
抱歉,我错误地编辑了您的回复,而没有跟进:-仍在学习如何导航…@user1377029:没问题-您的编辑进入了一个审阅队列,我猜编辑被拒绝了。很好!看起来这不是我想要监控的事件。我现在正在考虑在Liightweig中公开OnInstall/OnInstallhtthemanager.jsm。再次感谢!