我可以使用 Firefox Add-on 在选项卡 header 上放置一个按钮吗?

Can I put a button on the tab header using Firefox Add-on?

在 Firefox 浏览器 window 中,我想在网页标题旁边的选项卡 header 上放置一个按钮。这在 Firefox add-on 上可行吗?到目前为止,我仍然不确定如何称呼标签的这一部分。抱歉重复!

编辑:我没有添加图像的声誉。 Here it is just for clarity (desired button in red)

对此的简短回答是:"Yes."

Firefox 附加组件几乎可以完全控制用户界面。在本例中,您想要查看的第一级 XUL 内容包含在 chrome://browser/content/browser.xul 中。此文件包含在 Firefox 发布目录的浏览器目录中的 omni.ja 存档中。所有 omni.ja 文件都是 zip 存档,您可以使用理解 .zip 存档的程序解压缩文件来查看这些文件。根据您的 OS,将扩展名更改为 omni.zip 可能更容易。在该存档中,此文件为 chrome\browser\content\browser\browser.xul

然而,您实际需要修改的内容位于 chrome://browser/content/tabbrowser.xml 文件中(在同一目录中)。该文件定义了选项卡堆栈的外观。如何更改此设置取决于您正在创建的附加组件的类型(例如覆盖、无重启、附加 SDK)以及您是否希望此更改应用于所有选项卡,或仅应用于部分选项卡。

您可能还想查看 browser.css,它位于 skin 目录的子目录中。

此元素的 XUL 结构通常如下所示:

class="tab-content"hbox 很可能是您要修改的内容。

tabbrowser.xml中,目前(Firefox 38.0.5)定义为:

<xul:hbox xbl:inherits="pinned,selected,titlechanged"
          class="tab-content" align="center">
  <xul:image xbl:inherits="fadein,pinned,busy,progress,selected"
             class="tab-throbber"
             role="presentation"
             layer="true" />
  <xul:image xbl:inherits="src=image,fadein,pinned,selected,busy,crashed"
             anonid="tab-icon-image"
             class="tab-icon-image"
             validate="never"
             role="presentation"/>
  <xul:image xbl:inherits="crashed,busy"
             class="tab-icon-overlay"
             role="presentation"/>
  <xul:label flex="1"
             anonid="tab-label"
             xbl:inherits="value=visibleLabel,crop,accesskey,fadein,pinned,selected"
             class="tab-text tab-label"
             role="presentation"/>
  <xul:toolbarbutton anonid="close-button"
                     xbl:inherits="fadein,pinned,selected"
                     class="tab-close-button close-icon"/>
</xul:hbox>