繁体   English   中英

Firefox扩展Menuitem图像不显示

[英]Firefox Extension Menuitem Image Doesn't Display

我正在使用Firefox扩展程序,该扩展程序根据从服务器获取的数据创建书签菜单。 我想在每个菜单项中添加图标,但似乎无法显示它们。 我正在使用以下方法创建每个菜单项:

Bookmarks.createMenuItem = function(item) {
    var menuItem = document.createElementNS(Bookmarks.XUL_NS, "menuitem");
    menuItem.setAttribute("label", item.url_title);
    menuItem.setAttribute("oncommand", "Bookmarks.openUrl('" + item.url + "');");
    menuItem.setAttribute("class", "bookmark-menu-item");
    if ( item.favicon ) {
            menuItem.setAttribute("class", menuItem.getAttribute("class") +
                                   " menuitem-iconic");
            menuItem.setAttribute("image", item.favicon);
    }

    return menuItem;
};

menuitem可以正常工作,只是它不显示图像。 我已经验证了我为每个图像获取的URL(从下面代码中的item.favicon可以访问)。

知道这里有什么问题吗? 我正在使用Firefox 6.0.2。

我选择了在菜单项中带有图标的随机扩展名-HttpFox-那里是这样的:

在XUL文件中:

<menupopup id="toolsPopup">
    <menu id="hf_menu_HttpFox" 
        class="menu-iconic" 
        label="&browseroverlay.menutools.httpfox.label;" />
</menupopup>

在CSS文件中:

#hf_appmenu_HttpFox, #hf_menu_HttpFox, #hf_menu_webDeveloper_HttpFox {
    list-style-image: url(chrome://httpfox/skin/globe16.png);
} 

FoxSplitter中 ,方法相同。

因此,基本上,如果菜单允许使用style属性,则可以更改

menuItem.setAttribute("image", item.favicon);

menuItem.setAttribute("style", "list-style-image: url(" + item.favicon + ")");

(如果item.favicon是URL),或者style不起作用,则为每个项目创建类。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM