[英]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.