修改 我有一个状态栏,可用于启用和禁用插件。
<popupset>
<menupopup id="inlinetransContextMenu" position="end_after">
<image id="preficon" value="pref" />
<menuitem id="translator-context-menuitem-preferences"
label="preferences" onclick="alert('horay')" />
</menupopup>
</popupset>
<!-- ========================================= -->
答案 0 :(得分:1)
定义时:
<menupopup id="inlinetransContextMenu" position="end_after">
<image id="preficon" value="pref" />
<menuitem id="translator-context-menuitem-preferences"
label="preferences" onclick="alert('horay')" />
</menupopup>
您的弹出窗口包含两个元素:image
和menuitem
。弹出窗口中的项目垂直布局,因此图像位于菜单项上方。
如果您想将图像与菜单项关联,则必须采用不同的方式,如documentation中所述:
menuitem
作为属性image
,它应该包含图标的路径。此外,您必须为其显示类menuitem-iconic
以显示图标(它是预定义的样式类(可能是XBL绑定)):
image
输入:图片网址
要在元素上显示的图像的URL。如果此属性为空或遗漏,则不显示图像。图像的位置由dir和orient属性决定。注意:menuitem必须有一类menuitem-iconic才能显示图像。
所以你的定义应该是这样的:
<menupopup id="inlinetransContextMenu" position="end_after">
<menuitem id="translator-context-menuitem-preferences"
image="chrome://inlinetrans/skin/pref.png"
class="menuitem-iconic"
label="preferences"
onclick="alert('horay')" />
</menupopup>
我不明白你的另一个问题:为什么当我试图压制状态栏上的图像时,我的状态栏根本没有变化。 抑制在这种情况下意味着什么?要删除图标吗?还是改变?
<强>更新强>
您必须将image
和label
设置为属性:
<statusbarpanel id="status-bar-intrans"
context="inlinetransContextMenu"
onclick="overlay.clickIcon(event)"
onmouseover="var elmt=document.getElementById('status-bar-intrans');if ('enabled' == overlay.status) { elmt.tooltipText= 'inlinetrans dalam kondisi aktif';} else { elmt.tooltipText='inlinetrans dalam kondisi tidak aktif'; }">
image="chrome://youraddon/skin/image.png"
label="inlinetrans" />
并更改属性image
。或者通过src
和CSS。这些都在documentation中描述。