2012-04-04 2 views
0

xulのウィンドウIDに関する質問があります。私はxulファイルのようなものがあり、javascriptからこのウィンドウにアクセスしたい。基本的には、そのウィンドウの名前を使ってそのウィンドウへの参照を返す関数が必要です。それを行うための機能はありますか?あなたはトップレベルのXULウィンドウを持っている場合はxulのウィンドウID

答えて

1

、あなたはこのように、nsIWindowMediatorを使用して、それへの参照を取得することができます:

Components.utils.import("resource://gre/modules/Services.jsm"); 

Services.wm.getMostRecentWindow("navigator:browser"); 

navigator:browserは、ブラウザウィンドウのタイプである、あなたはwindowtype attribute valueを使用する必要がありますあなたの窓の。これはid属性を使用していないことに注意してください.IDは別のもので、主にオーバーレイを適用するのに便利です。

同じタイプの複数のウィンドウを取得するには次のように記述します。

var enumerator = Services.wm.getEnumerator("navigator:browser"); 
while (enumerator.hasMoreElements()) 
    alert(enumerator.getNext().QueryInterface(Components.interfaces.nsIDOMWindow)); 
関連する問題