如何通过接口名称查找合同ID?

时间:2013-12-04 08:29:20

标签: firefox-addon xpcom

示例:我想在Javascript中使用nsILocalFile的界面,如何找到相应的合同ID("@mozilla.org/file/local;1")?源代码中是否有地图?

1 个答案:

答案 0 :(得分:0)

你没有。这不是合同和接口之间的一对一关系,而是多对多关系:

  • 合同可访问的单个组件可以实现多个接口。
  • 单个界面可以有多个组件实现它,因此可以有多个合同。

但是,在实践中,这通常是一对一的关系。例如。如果我想了解哪些组件实现nsILocalFile,我会在源代码中搜索它,例如:

其他时候,合同ID甚至在idl本身中指定,例如在nsITimer.idl(在底部)。

最常用的接口通常也存在于MDN上。合同,例如nsILocalFile