2012-04-04 58 views
0

我有一個關於xul中窗口標識的問題。我有我的xul文件中的東西,我想從JavaScript訪問此窗口。基本上,我想要一個函數返回給我一個使用它的名字的那個窗口的引用。有沒有什麼功能可以做到這一點?xul中的窗口標識

回答

1

如果你有一個頂級XUL窗口中,你可以使用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));