0

nsIDOMGlobalPropertyInitializer::Init() を実装しようとしています。

JAVASCRIPT_GLOBAL_PROPERTY_CATEGORY をサポートするために拡張しようとしている既存のオブジェクト (Google Gears に基づく) があります (JAVASCRIPT_DOM_CLASS は FF17 では動作しないようです)。

nsIDOMGlobalPropertyInitializer::Init() の実装が呼び出されていますが、C++ オブジェクト (nsISupports を実装し、適切な IDL を公開する) を JS:Value に変換して、オブジェクトを Java Script で使用できるようにするにはどうすればよいですか?

NS_ERROR_NOT_IMPLEMENTED を返すか、nsIDOMGlobalPropertyInitializer インターフェイスを実装しない場合、FF は (当然のことながら) メソッドまたはプロパティがオブジェクトによって公開されていないと文句を言います。

4

1 に答える 1

0

オブジェクトを JS:Value に変換する必要はありません。nsISupports のような XPCOM インターフェースを実装すると、JavaScript で利用できるようになります。あなたの説明からあなたのオブジェクトが正確に何をするかは明らかではありませんが、おそらく IDL でカスタム インターフェイスを作成し、それをオブジェクトに実装する必要があります。その後、このインターフェースを介して JS で操作できます。nsISecurityCheckedComponentおそらくandも実装する必要がnsIClassInfoあります。

于 2013-03-30T19:20:58.717 に答える