Css xul-没有或错误的工具栏按钮图像

Css xul-没有或错误的工具栏按钮图像,css,firefox,firefox-addon,xul,Css,Firefox,Firefox Addon,Xul,我花了一整天的时间在这件小事上,但我还是做不到 让这一切顺利。一个巨大的奇怪的图像出现,而不是我的图标。如果我拿出toolbarbutton-1类,就不会出现任何图像。以下是所有重要的东西:(这将是一篇非常长的帖子…) My XUL仅包含工具栏调色板上的工具栏按钮: <?xml version="1.0"?> <?xml-stylesheet href="chrome://ytweaks/skin/style.css" type="text/ css"?> <ove

我花了一整天的时间在这件小事上,但我还是做不到 让这一切顺利。一个巨大的奇怪的图像出现,而不是我的图标。如果我拿出toolbarbutton-1类,就不会出现任何图像。以下是所有重要的东西:(这将是一篇非常长的帖子…)

My XUL仅包含工具栏调色板上的工具栏按钮:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://ytweaks/skin/style.css" type="text/
css"?>
<overlay id="yTweaks" xmlns="http://www.mozilla.org/keymaster/
gatekeeper/there.is.only.xul">
    <script src="main.js" />
    <toolbarpalette id="BrowserToolbarPalette">
        <toolbarbutton id="ytweaks-main-button" class="toolbarbutton-1
chromeclass-toolbar-additional"
            type="menu"
            label="yTweaks"
            tooltiptext="yTweaks"
            state="enabled">
        </toolbarbutton>
    </toolbarpalette>
</overlay>
清单文件如下所示:

content ytweaks chrome/content/
overlay chrome://browser/content/browser.xul chrome://ytweaks/content/ui.xul

skin ytweaks classic/1.0 skin/classic/ytweaks/
style chrome://global/content/customizeToolbar.xul chrome://ytweaks/skin/style.css
以及文件夹结构:

chrome
|-- content
|   |-- ui.xul
|   |-- main.js
|-- skin
    |-- classic
        |-- ytweaks
            |-- icon.large.png
            |-- icon.small.png
            |-- style.css
最后,结果如下所示:

完全不是我做的那个图标。这是我的图标,应该出现在 大的一个):


还有,我如何调试这些东西?例如,我如何浏览 chrome注册表。如果我在firefox中键入一个ChromeURI,什么都不会发生。 除了浏览器的主XUL文件外,它会加载另一个完整的XUL文件
浏览器。

根据您上面提供的信息,如果这是您的路径
ytweaks/skin/icon.small.png
,但您的文件夹结构是

 |-- ytweaks
     |-- icon.large.png
     |-- icon.small.png
     |-- style.css

然后,在我看来,您可能缺少
ytweaks
中的
skin
子文件夹,或者您的图像路径中不应该有该子文件夹。

这是因为此处的路径无效:

skin ytweaks classic/1.0 skin/classic/ytweaks/
…应该是:

skin ytweaks classic/1.0 chrome/skin/classic/ytweaks/
回复:调试。我会测试三件事:

  • 使用您知道必须匹配的最简单规则,然后使用DOM检查器检查相关元素上的样式,以查看您的规则是否匹配。如果他们不知道,你的样式表因为某种原因没有被应用
  • 仔细观察应用样式表的那一行(在您的例子中,它是chrome.manifest中的
    样式
    行)。我不知道你怎么能在这里调试打字错误
  • 通过位置栏打开样式表时,请检查样式表的chrome://URL是否正常工作。它应该显示css文件的文本。
    • 如果您没有注册任何chrome软件包chrome://aaa/skin/aaa.css错误控制台中的消息,您在chrome.manifest中的
      skin
      声明未得到处理,或者“提供者”名称(
      aaa
      ,在上面的示例中)与在“skin”之后指定的“提供者”名称不匹配
    • 如果您在内容错误页面中看到
      文件未找到。Firefox在上找不到该文件chrome://aaa/skin/bbb.css
      (与您的情况一样),这意味着
      皮肤
      声明的路径部分不正确。它应该是相对于chrome.manifest(和以/结尾的iirc)

可能确实存在问题,但问题并非如此简单。要处理多个皮肤或其他东西,必须使用清单文件。这一行:“skin ytweaks classic/1.0 skin/classic/ytweaks/”覆盖了路径,但我不确定如何覆盖,我看到的其他加载项就是这样做的。但对我不起作用。我比较我的插件是flash块,将xpi文件作为zip打开,然后将jar也作为zip打开,您可以找到类似的结构。主要的区别是,虽然它可以工作,但我的却不行。错误控制台确实显示了一些XUL错误。但前提是我使用多米的“重新加载所有铬”。我想使用重启在启动时会被擦除。哇,你让我的白天(夜晚),现在我的动力,实现的东西,回来了。
skin ytweaks classic/1.0 chrome/skin/classic/ytweaks/