【问题标题】:Firefox context menu item iconFirefox 上下文菜单项图标
【发布时间】:2011-09-19 11:25:43
【问题描述】:

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

完整代码如下:

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");
}

关于问题的任何想法?

【问题讨论】:

  • 首先要测试:该图像是否加载?尝试在浏览器中打开chrome://xulschoolhello/skin/ss_16.png。
  • @Wladimir Palant:我发布了整个代码,因为可能是其他原因导致了问题。无论如何减少了代码。 chrome://xulschoolhello/skin/ss_16.png 正在浏览器中打开。
  • 文件不应该叫chrome.manifest吗? (不是清单)

标签: firefox-addon stylesheet xul


【解决方案1】:

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

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

如果不放文件名,只留下chrome://xulschoolhello/skin/,应该也可以,根据tutorial.

【讨论】:

  • 已经检查过了,没有效果。 css 和图片文件在同一个目录,所以不需要使用完整路径。
  • 好的。您是否在叠加层中引用 browserOverlay.css ?它不在你的 sn-p 中。
  • 你错了 - CSS 文件中的 URL 总是相对于 CSS 文件位置。因此,没有必要使用完整的 URL。并且browserOverlay.css 在chrome.manifest 中被引用(它是一个样式覆盖)。
  • 对不起,我的错。 chrome.manifest的最后一行确实引用了样式表。
  • 我现在有机会使用我自己的扩展进行一些测试,我认为除了chrome.manifest 中的参考之外,您还必须从覆盖链接到样式表。我将编辑我的答案以提供更多详细信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 2022-11-11
相关资源
最近更新 更多