0

可能与以下相关但不同:

firefox插件图标不显示firefox扩展不显示图标

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

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

在 menuitem 的 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 叠加层一起使用吗?

我只是尝试直接从各种代码示例中使用 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 run -b (浏览器二进制文件的绝对路径)测试结果,每次都会创建一个新的默认空配置文件。

4

1 回答 1

0

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

于 2016-04-06T16:05:41.540 回答