Components 是否可以从XPCOM或NPAPI创建自定义XUL元素?

Components 是否可以从XPCOM或NPAPI创建自定义XUL元素?,components,xul,xpcom,npapi,Components,Xul,Xpcom,Npapi,我想知道是否可以通过任何可用的api(如XPCOM或NPAPI)创建一个新的XUL组件,以便我们可以在XUL文件中使用它 假设我想克隆XULs vbox的组件代码并对其进行一些修改,这样我们就可以像这样使用自定义XUL组件: <window> <myvbox mycustomarg1="customValue"> Some content... </myvbox> </window> 一些内容。。。 我知道XBL是什么,它的用途是什么

我想知道是否可以通过任何可用的api(如XPCOM或NPAPI)创建一个新的XUL组件,以便我们可以在XUL文件中使用它

假设我想克隆XULs vbox的组件代码并对其进行一些修改,这样我们就可以像这样使用自定义XUL组件:

<window>
    <myvbox mycustomarg1="customValue"> Some content... </myvbox>
</window>

一些内容。。。
我知道XBL是什么,它的用途是什么,它不符合我们的需要

有没有关于如何实现这一目标的建议

编辑:

我们需要在Firefox中创建一个浏览器组件作为另一个浏览器对象的子对象。问题是一些网站将此子浏览器检测为iframe,我们希望避免这种情况


谢谢。

如果重点是防止加载到框架中的网页干扰XUL文档,那么您应该使用
-这在chrome和内容之间建立了一个安全边界,防止内容文档访问其父框架。然而,XUL文档本身作为chrome而不是内容加载是很重要的(通过位于顶层或内部
)。有关文档,请参阅。

不清楚“创建新的XUL组件”是什么意思-您的意思是用自定义行为定义新的XUL标记吗?那么XBL除了动态之外还能做什么呢?你能详细解释一下为什么XBL不能满足你的需要吗?请注意,扩展
或其他XUL元素正是XBL的用途。例如,我们希望能够使用一个实际上不向网站报告自身为iframe的XUL组件,因此,这些iframe中断脚本不会干扰某些网站(如hotmail.com或facebook)的浏览。这就是为什么我们需要自定义xul组件,而XBL不是一个选择这就是
type=“content”
的用途()。但是,如果你的XUL文档已经在浏览器的内容区域中而不是在一个单独的窗口中打开,那就不能(不能)工作。你应该认真考虑询问你的实际问题,而不是如何实现你已经设计的解决方案。因为有强烈的迹象表明,这种解决方案首先是错误的。如果你解释一下这个问题,我们也许能提出更好的解决办法。