如何使用 Firefox 扩展将选项卡栏移动到窗口底部



我需要我的扩展将带有制表符的栏(ID 为 TabsToolbar<toolbar> 元素)移动到窗口底部的 #browser <hbox> 元素下。

我知道如何使用扩展名添加和修改元素,但我不确定如何将现有元素放置在带有叠加层的页面中的其他地方。正确的方法是什么?

更新:

我发现了另一个附加组件,除其他外,称为 https://addons.mozilla.org/en-US/firefox/addon/tab-mix-plus/。

似乎当选项卡设置为底部时,此插件会在#browser <hbox>元素下方添加一个 id tabmix-bottom-toolbox的空<toolbox>元素。即使选项卡出现在底部,实际的选项卡XUL标记仍然位于顶部TabsToolbar <toolbar>元素内的常规位置。

我认为作者所做的是:

  1. 在浏览器区域下插入一个XUL占位符元素,并将占位符设置为TabsToolbar的高度。
  2. 然后通过 css 给 TabsToolbar 一个固定的位置,然后
  3. 根据占位符的偏移量设置"top"属性。

不过,我还没有通过在我自己的插件中尝试来确认这一点。我还发现绝对定位在XUL中做一些不稳定的事情。

您可以尝试以下内容:

  1. 在 id 为"browser-bottombox"的 vbox 之前插入一个 hbox(假设带有 id bottom-tabs-container)

  2. 在 javascript 中,使用类似的东西

    var tabsToolbar = document.getElementById("TabsToolbar");
    document.getElementById("bottom-tabs-container").appendChild(tabsToolbar);
    

这应保留已绑定的任何事件处理程序。但是请注意,您可能会破坏很多与外观相关的东西。

最新更新