Hallo,
parent.frames[0].document.childNodes[0].childNodes[1].hasChildNodes()
Bis hierhin stimmt es also.
Oder doch nicht?
Kann natürlich auch am Browser liegen, ich habe z.Z. "nur" den Mozilla 0.9.8 zum ausprobieren von DHTML.
Ja, liegt am Browser. Mozilla 0.9.7 findet unter HTML zuerst einen Textknoten und dieser hat keine Kindknoten:
Sieht so aus, als hätten die das kaputtrepariert ;-)
Hab das mal ausprobiert:
parent.frames[0].document.childNodes[0].childNodes[1].nodeName; // --> #text
Der sagt bei mir "BODY" respektive "FALSE" bei hasChildNodes()
parent.frames[0].document.childNodes[0].childNodes[2].nodeName; // --> BODY
...has no properties (gibt's also gar nicht)
Der Vollständigkeit halber:
parent.frames[0].document.childNodes[0].childNodes[0].nodeName
ergibt:"HEAD", hat aber auch keine Kindchen, sagt Mozilla. (Hat er natürlich jede Menge. Man kommt sich da vor, wie bei einem Vaterschaftsprozeß ;-)
und darunter wird auch der IFRAME gefunden.
Gefunden wohl, nur angesprochen nicht.
Beim IE klappt das direkt (wie von Dir beschrieben).
parent.frames[0].document.getElementsByTagName("body")[0].hasChildNodes(); ergibt bei beiden Browsern true.
Nur beim Mozilla 0.9.8 nicht. Zumindest nicht bei dem, den ich hier habe.
Wenn ich es mir recht überlege, _darf_ so etwas gar nicht funktionieren und ich kann mir dieses Posting eigentlich sparen.
Nein, nur beim Zugriff ueber Domaingrenzen hinweg waere das ein Sicherheitsproblem.
Ich glaube nicht, daß Domaingrenzen hier eine Rolle spielen. Es kann auch alles auf einer liegen.
Könntest Du denn o.a. Szenario einmal praktisch durchspielen, wenn es auf dem IE funktioniert? Ich komme dieses Wochenende nämlich (leider? Gottseidank? ;-) an keinen IE mehr.
Also eine locale Datei in ein IFrame laden, ein paar Knoten auslesen und als einen Request (z.B. <img src="http://example.com/getData?node1Value ..."> zu verbergen suchen?
Würde mich jetzt doch einmal interessieren. Zumindest ein ungutes Gefühl kann ich dabei nicht verbergen.
Auf jeden Fall schon mal schönen Dank für die Antwort!
so short
Christoph Zurnieden