Firefox Addon-SDK jpm menuitem 模块:图像未显示在工具菜单栏上

Firefox Addon-SDK jpm menuitem module: image not showing on Tools menubar

可能与以下相关但不同:

and firefox extension not showing icons.

而这些问题围绕着 API-用户需要使用 self.data.url( './icon-16.png' ) 并将图像放在 './data/' 目录中从插件的根目录开始,我已经这样做了,所以它可能是 API-coder 的 menuitem 模块中的一个错误(对我来说看起来没问题),或者 API iteself,或者一些其他误用(我或其他人)或冲突。

我已经获得要显示的菜单项文本标签,并且关联的 onCommand 处理程序可以工作。我已经使用 ActionButton 使用 self.data.url() 加载图标,所以我知道可以找到图标。这些相同的图像和功能在菜单项模块代码中失败。我尝试在菜单栏的文件和工具菜单下添加项目。我试过修改 menuitem 模块的 index.js 文件。

在我的插件 index.js 中,我尝试了多种选择:

// for reference, all shown at once, but tried individually
image: self.data.url( "./icon-16.png" ),
image: self.data.url( "icon-16.png" ),
image: "./icon-16.png",
image: "icon-16.png",

在菜单项的index.js中,我试过:

// using self.data.url in my index.js, despite example not showing this
menuitem.style.listStyleImage = "url('" + options.image + "')";
menuitem.setAttribute('image', options.image );

根据某些 Mozilla 安全策略,菜单栏的菜单项的图标是否只是被浏览器禁止而控制台中没有警告?是否有浏览器设置或覆盖?它甚至可以与 XUL Overlays 一起使用吗?

我只是想直接从各种代码示例中使用 menuitem 插件(修改以删除其他选项)。

require("menuitem").Menuitem({
    id: "clickme",
    //menuid: "menu_FilePopup",
    //insertbefore: "menu_FileQuitItem",
    menuid: "menu_ToolsPopup",
    insertbefore: "menu_pageInfo"
    label: "Click to visit Mozilla!",
    image: self.data.url( "./icon-16.png" ),
    onCommand: handleClick,
});

使用 jpm 运行 -b(浏览器二进制文件的绝对路径)测试结果,每次都会创建一个新的默认空配置文件。

menuitem 模块在其他上下文中工作正常。显然,除了书签(可能)之外,菜单栏菜单项上不允许使用任何图标。