Firefox addon 如何在引导加载项中覆盖来自另一扩展名的XUL文件(或以其他方式修改XUL文件的DOM)?

Firefox addon 如何在引导加载项中覆盖来自另一扩展名的XUL文件(或以其他方式修改XUL文件的DOM)?,firefox-addon,xul,Firefox Addon,Xul,我想将一些DOM元素添加到另一个扩展名的XUL文件中 该扩展允许通过单击添加到Firefox的工具栏按钮来“打开”。单击此按钮将打开一个新选项卡,其中包含扩展名中XUL文件的chrome地址 我已经动态创建了一些DOM元素,并将它们添加到Firefox窗口(例如前面提到的工具栏)上的元素中,方法是在加载我的加载项时添加它们,以及在加载加载项后使用窗口“加载”事件监听器打开窗口(使用document.createElement()和element.appendChild)()),但我不确定向这个X

我想将一些DOM元素添加到另一个扩展名的XUL文件中

该扩展允许通过单击添加到Firefox的工具栏按钮来“打开”。单击此按钮将打开一个新选项卡,其中包含扩展名中XUL文件的chrome地址

我已经动态创建了一些DOM元素,并将它们添加到Firefox窗口(例如前面提到的工具栏)上的元素中,方法是在加载我的加载项时添加它们,以及在加载加载项后使用窗口“加载”事件监听器打开窗口(使用
document.createElement()
element.appendChild)()
),但我不确定向这个XUL文件中添加动态元素的最佳方法,该文件可以在同一窗口中多次打开和关闭


是否有任何方法可以在每个会话中覆盖XUL文件一次(我猜没有)?否则,我是否需要设置某种页面加载侦听器,在每次加载页面时触发,然后检查地址是否与XUL文件的地址匹配,如果匹配,是否进行覆盖?是否可以侦听特定地址?

我最后向
gBrowser
添加了一个
加载
侦听器来侦听页面lLoads.listener检查chrome XUL文件地址的
event.originalTarget.location
,并在匹配项上添加DOM元素。启用我的加载项后,我使用
gBrowser.browsers.length
gBrowser.getBrowserAtIndex()
循环浏览窗口中所有打开的选项卡,检查XUL是否已打开

为了清理,我将添加到XUL文件中的每个DOM元素的引用存储在我添加到选项卡内容文档中的
AddedByMaddon
数组属性中。当我的加载项被禁用时,我会再次在打开的选项卡中循环查找XUL文件,然后删除
AddedByMaddon
属性中的所有内容,然后删除
addedByMaddon
属性