1

この「xpcomInterface」のタイプがわかりません。この名前のクラスのドキュメントはありません。何か案が?

このスニペットは Mozilla の Web サイトからのものです。

var next = elements.item(i+1);
var xpcomInterface = scroll.boxObject.QueryInterface(
Components.interfaces.nsIScrollBoxObject);
xpcomInterface.ensureElementIsVisible(elements);

- アップデート

nslBoxObjectにつながるboxObjectを見つけましたが、上記のように参照がありませんQueryInterface。もう存在しない xulplanet.com への参照もあります。

4

1 に答える 1

2

まあ、xpcomInterface変数の名前だけです。

XPCOM および XPCOM インターフェイスについて読む必要があります。QueryInterface()すべての XPCOM オブジェクトが実装しなければならないメソッドであり、オブジェクトを特定のインターフェースに「キャスト」する可能性を提供します。

(...) 関数QueryInterface()は、そのコンポーネントの特定のインターフェイスを取得するために使用できるすべてのコンポーネントによって提供される関数です。この関数は、取得するインターフェイスを 1 つのパラメーターとして受け取ります。(...)

この例では、インターフェイスを実装しているように見えるいくつかのオブジェクトscroll.boxObject( update:nsIBoxObject見つかりました。これも単なるインターフェイス ( で始まるnsI) であることに注意してください) がありnsIScrollBoxObjectます。を使用QueryInterfaceすることで、 などのインターフェイスのメソッドにアクセスできますensureElementIsVisible

于 2010-09-23T18:42:58.153 に答える