我尝试为Firefox 29+(Australis)添加一个插件。 我有一个菜单项,我在开启时附加一个事件监听器 每个窗口。 我这样做的标准方式是这样的:
var menuItem = document.getElementById("menuItemId");
if(menuItem) {
menuItem.addEventListener("click", function onClick() {
menuItem.removeEventListener("click", onClick, false);
// my code here;
}, false);
};
工作正常。但是,我的问题如下:
在某些情况下,我想在进入自定义模式(" about:customizing")时删除侦听器,这是一个不同的范围。当然,要在这种模式下加载我的脚本,我还在" about:customizing"中应用了我的overlay.xul。 URI。
要从此模式中删除侦听器,我尝试了以下操作:
WindowMediator.getMostRecentWindow("navigator:browser")
.document.getElementById("menuItemId")
.removeEventListener("click", onClick, false);
- or -
Window.top
- or -
window.parent
etc
我对上述方法和其他类似方法没有运气:-(
有什么想法吗?