是否可以从 XPCOM 或 NPAPI 创建自定义 XUL 元素?
我想知道是否可以通过任何可用的 api(例如 XPCOM 或 NPAPI)创建新的 XUL 组件,这样我们就可以使用它的 XUL 文件。
假设我想克隆 XUL vbox 的组件代码并对其进行一些修改,因此我们可以像这样使用自定义 XUL 组件:
<window>
<myvbox mycustomarg1="customValue"> Some content... </myvbox>
</window>
我知道 XBL 是什么以及用途是什么,但它不符合我们的需求。
关于如何实现这一目标有什么建议吗?
编辑:
我们需要在 Firefox 中创建一个浏览器组件作为另一个浏览器对象的子组件。问题是有些网站将此子浏览器检测为 iframe,我们希望避免这种情况。
谢谢。
I was wondering if it is possible to create a new XUL component via any available api, such as XPCOM or NPAPI, so we can use it our XUL files.
Let's say I wanted to clone the XULs vbox's components code and add a few modifications to it, so we could use our custom XUL component just like this:
<window>
<myvbox mycustomarg1="customValue"> Some content... </myvbox>
</window>
I know what XBL is and what is used for and it doesn't fit our need.
Any suggestion of how to achieve that?
Edit:
We need to create a browser component in Firefox as child of another browser object. The problem is some websites detect this child browser as iframe and we want to avoid this.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果重点是防止加载到框架中的网页弄乱您的 XUL 文档,那么您应该使用
- 这在 chrome 和 content 之间建立了安全边界(除其他外)阻止内容文档访问其父框架。然而,重要的是,您的 XUL 文档本身作为 chrome 而不是内容加载(通过位于顶层或位于
内)。请参阅 https://developer.mozilla.org/en/XUL/Attribute/browser。输入以获取文档。If the point is preventing a webpage loaded into a frame from messing with your XUL document then you should use
<browser type="content">
- this establishes a security boundary between chrome and content which (among other things) prevents the content document from accessing its parent frame. It is important however that your XUL document itself is loaded as chrome and not content (by either being on top level or inside<browser type="chrome">
). See https://developer.mozilla.org/en/XUL/Attribute/browser.type for documentation.