當你定義:
<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-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中描述。
如果您可以發佈更簡單的代碼版本 - 這足以讓我們看到您想要做的事情,並找出問題所在,那將會很有幫助。 – MatrixFrog 2010-12-14 01:23:57