我正在尝试实现nsIDOMGlobalPropertyInitializer :: Init()。
我有一个现有的对象(基于Google Gears),我试图扩展它以支持JAVASCRIPT_GLOBAL_PROPERTY_CATEGORY(因为JAVASCRIPT_DOM_CLASS似乎不再适用于FF17)。
我正在调用我的nsIDOMGlobalPropertyInitializer :: Init()实现,但是如何将我的C ++对象(它实现nsISupports并公开适当的IDL)转换为JS:Value以使我的对象在Java Script中可用?
如果我返回NS_ERROR_NOT_IMPLEMENTED或者没有实现nsIDOMGlobalPropertyInitializer接口,FF(理所当然地)会抱怨对象公开no方法或属性。
答案 0 :(得分:0)
您不必将对象转换为JS:Value。如果您实现nsISupports之类的XPCOM接口,它们将以JavaScript形式提供。从您的描述中不清楚您的对象的确切功能,但您可能必须在IDL中编写自定义接口并在对象中实现它。然后,您可以通过此接口在JS中对其进行操作。您也应该实现nsISecurityCheckedComponent
和nsIClassInfo
。