如何使用xul创建一个具有下拉效果的按钮?

时间:2011-08-16 05:43:09

标签: firefox firefox-addon xul

我必须为firefox创建一个带有下拉菜单的扩展程序。按钮的外观类似于firebug。这是代码:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://sendtoie/skin/overlay.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://sendtoie/locale/sendtoie.dtd">
<overlay id="sendtoie-overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="overlay.js"/>


<toolbarpalette id="BrowserToolbarPalette">
<menulist id="sendtoie-toolbar-button">
<menupopup>
<menuitem label="check"  oncommand="ButtonCommand();"/>
<menuitem label="list1"  oncommand="com2();" />
</menupopup>
</menulist>
</toolbarpalette>

</overlay>  

此代码创建一个带有文本和图标的下拉菜单,但是当我右击firefox工具栏时 - >转到Customize - &gt;在“显示”选项中选择“仅图标”,文本“检查”仍然存在,我也无法将此扩展名拖到“自定义”下拉框中。 如何获得类似于Firebug扩展的行为?

1 个答案:

答案 0 :(得分:1)

工具栏按钮应始终为<toolbarbutton>,有关其的文档,请参阅https://developer.mozilla.org/en/XUL/toolbarbutton。您可以使用type="menu"type="menu-button"来显示下拉菜单:

<toolbarbutton id="sendtoie-toolbar-button" type="menu" label="My button">
<menupopup>
<menuitem label="check"  oncommand="ButtonCommand();"/>
<menuitem label="list1"  oncommand="com2();" />
</menupopup>
</toolbarbutton>