一款 XPCOM 的语言绑定是连接某种特定的程序设计语言与 XPCOM 之间的纽带,它用来提供从语言到 XPCOM 对象的访问, 并且将此种语言写成的模块作为其他进行 XPCOM 绑定的程序语言的 XPCOM 对象。 

更具体的说, 一个 XPCOM 语言绑定:

  • 允许在特定的程序设计语言中访问 XPCOM 对象(此处,访问的意思是能够读取、写入和创建 XPCOM 对象以及调用这些对象的方法)。
  • 暴露特定的程序设计语言编写的模块并使之成为一个 XPCOM 对象,从而允许所有已绑定的其它程序设计语言能够访问这些模块。

由于 XPCOM 层本身使用 C/C++ 编写,因此可以使用 C/C++ 直接访问其 API。而当其它的程序设计语言需要访问该 API 时,则需要通过额外的桥接层来实现。

当前有效的链接层如下:

Components
Components 对象是 XPConnect 功能被映射到 JavaScript 上的对象。Components 对象的 native 实现位置在   nsIXPCComponents , 这个接口会被映射成JavaScript 作为使用 XPConnect 的最高层级的对象。
Components.classes
Components.utils.evalInSandbox
Components.utils.import
这个方法在 Firefox 3 中被引入,它使得在不同的作用域之间分享代码变得更加容易。例如:你可以直接导入 XPCOMUtils.jsm 而不必复制/粘贴冗长的XPCOM组件。

文档标签和贡献者

此页面的贡献者: ReyCG_sub, ziyunfei, XueCan, Klp99
最后编辑者: ReyCG_sub,