Firefox上下文菜单项图标

时间:2011-09-19 11:25:44

标签: firefox-addon stylesheet xul

我正在尝试在上下文菜单中添加一个图标,但不知道它为什么没有显示。

以下是完整的代码:

chrome.menifest

content   xulschoolhello              jar:chrome/xulschoolhello.jar!/content/
skin      xulschoolhello  classic/1.0 jar:chrome/xulschoolhello.jar!/skin/
locale    xulschoolhello  en-US       jar:chrome/xulschoolhello.jar!/locale/en-US/

overlay chrome://browser/content/browser.xul  chrome://xulschoolhello/content/browserOverlay.xul

style   chrome://browser/content/browser.xul  chrome://xulschoolhello/skin/browserOverlay.css

browserOverlay.xul

<?xml version="1.0"?>

<!DOCTYPE overlay SYSTEM
  "chrome://xulschoolhello/locale/browserOverlay.dtd">

<overlay id="xulschoolhello-browser-overlay"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  .
  .
  .

  <!-- Context menu additions -->
  <popup id="contentAreaContextMenu">
      <menuseparator id="ss-context-menu-separator"/>
      <menuitem id="ss-context-menu-item" class="menuitem-iconic"
                label="click me"
                oncommand="XULSchoolChrome.BrowserOverlay.sayHello(event);"/>
  </popup>
</overlay>

browserOverlay.css

#ss-context-menu-item {
  list-style-image: url("ss_16.png");
}

关于问题的任何想法?

1 个答案:

答案 0 :(得分:0)

从我自己的扩展程序的测试中,我认为除了chrome.manifest中的样式表之外,您可能还必须在叠加层中添加对样式表的引用。为此,您必须在doctype声明之前添加以下行:

<?xml-stylesheet href="chrome://xulschoolhello/skin/browserOverlay.css" type="text/css"?>

如果你没有放置文件名,只留下chrome://xulschoolhello/skin/,那么根据tutorial,它也应该有效。