Aufgrund von mehreren Iframes, XUL-Browserelementen usw. habe ich in meiner XULRunner-Anwendung eine Reihe von Fensterobjekten. Ich bin auf der Suche nach dem besten Weg, das Fensterobjekt zu finden, zu dem ein bestimmter Knoten JavaScript verwendet.
Um genauer zu sein, muss ich für Knoten x das spezifische Fensterobjekt finden, das x enthält.
+1 auf Ihre Frage, es war genau das, wonach ich gesucht habe und danke für den Hinweis, den Sie direkt geben, indem Sie sich selbst beantworten.
Ich habe ein wenig gegoogelt und nach Ссылка Cross-Browser-Tabellen denke ich, die richtige Antwort ist:
%Vor%Oder vielleicht sogar besser:
%Vor%Plz lass mich deine Gedanken wissen.
Ich habe die Kombination von Eigenschaften gefunden, nach der ich gesucht habe:
node.ownerDocument.defaultView
Dies gibt das Fensterobjekt zurück, zu dem der Knoten gehört. Beachten Sie, dass dies in IE nicht funktioniert.
Vielleicht möchten Sie self verwenden. self ist eine Referenz auf das aktuelle Dokument.
Von innerhalb des iframe:
%Vor%Verlegen mehrerer Fensterobjekte:
Innerhalb des Browser-Objektmodells wird das primäre Fensterobjekt als top bezeichnet. Andere globale Objekte sind in einer Baumstruktur angeordnet, die von oben stammt. Mit einem Verweis auf top können Sie zu den anderen globalen Objekten in der Struktur navigieren, indem Sie ihre Namen und Beziehungen verwenden, ähnlich wie Sie die durchqueren DOM .
Wenn Sie mehrere Fensterobjekte haben, wie Sie es im Falle eines Iframes (von Frame-Frames einer alten Schule) tun, hat der Frame ein name-Attribut . Wenn die Position des Objekts relativ zum obersten Fensterobjekt angegeben ist, können Sie den Namen des untergeordneten Elements verwenden, um auf das Objekt zuzugreifen.
<iframe src ="/default.html" name="advertisement"></iframe>
und dann aus dem Kontext des oberen Fensters:
self.advertisement
Tags und Links javascript xul xulrunner