我需要我的扩展将带有制表符的栏(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>
元素内的常规位置。
我认为作者所做的是:
- 在浏览器区域下插入一个XUL占位符元素,并将占位符设置为TabsToolbar的高度。
- 然后通过 css 给 TabsToolbar 一个固定的位置,然后
- 根据占位符的偏移量设置"top"属性。
不过,我还没有通过在我自己的插件中尝试来确认这一点。我还发现绝对定位在XUL中做一些不稳定的事情。
您可以尝试以下内容:
-
在 id 为"browser-bottombox"的 vbox 之前插入一个 hbox(假设带有 id bottom-tabs-container)
-
在 javascript 中,使用类似的东西
var tabsToolbar = document.getElementById("TabsToolbar"); document.getElementById("bottom-tabs-container").appendChild(tabsToolbar);
这应保留已绑定的任何事件处理程序。但是请注意,您可能会破坏很多与外观相关的东西。