Ich habe eine Frage bezüglich der Fenster-ID in xul. Ich habe etwas wie in meiner XUL-Datei und ich möchte auf dieses Fenster von Javascript zugreifen. Grundsätzlich möchte ich eine Funktion, die mir einen Verweis auf dieses Fenster zurückgibt, indem ich den Namen verwende. Gibt es irgendeine Funktion, das zu tun?Fenster-ID in xul
0
A
Antwort
1
Wenn Sie eine Top-Level-XUL Fenster haben, können Sie einen Verweis auf sie bekommen nsIWindowMediator verwenden, wie folgt aus:
Components.utils.import("resource://gre/modules/Services.jsm");
Services.wm.getMostRecentWindow("navigator:browser");
navigator:browser
die Art des Browser-Fensters ist, würden Sie die windowtype
attribute value verwenden müssen von deinem Fenster. Beachten Sie, dass dies nicht das Attribut id
verwendet - die ID ist eine andere Sache und vor allem nützlich, um Overlays anzuwenden.
Um mehr als ein Fenster des gleichen Typs zu erhalten würden Sie schreiben:
var enumerator = Services.wm.getEnumerator("navigator:browser");
while (enumerator.hasMoreElements())
alert(enumerator.getNext().QueryInterface(Components.interfaces.nsIDOMWindow));