我对 xul 中的窗口 id 有疑问。我的 xul 文件中有类似的东西,我想从 javascript 访问这个窗口。基本上,我想要一个函数使用它的名称返回对该窗口的引用。有什么功能可以做到这一点吗?
问问题
311 次
1 回答
1
如果您有一个顶级 XUL 窗口,您可以使用nsIWindowMediator获得对它的引用,如下所示:
Components.utils.import("resource://gre/modules/Services.jsm");
Services.wm.getMostRecentWindow("navigator:browser");
navigator:browser
是浏览器窗口的类型,您必须使用窗口的windowtype
属性值。请注意,这没有使用id
属性 - ID 是另一回事,并且对于应用叠加层最有用。
要获得多个相同类型的窗口,您可以编写:
var enumerator = Services.wm.getEnumerator("navigator:browser");
while (enumerator.hasMoreElements())
alert(enumerator.getNext().QueryInterface(Components.interfaces.nsIDOMWindow));
于 2012-04-04T08:25:31.410 回答