Hallo,
Da habe ich mir mit Mühe und Not ein Iframe zusammengebastelt und beladen, will auf den Baum dort zugreifen und nix is ;-)
parent.frames[0].document.childNodes[0].childNodes[1].hasChildNodes()
behauptet steif und fest: false.
Das Frame ist das Richtige. (checked via parent.frames[0].name)
childNodes[0].nodeName ist "HTML".
childNodes[0].childNodes[1].nodeName ist "BODY"
Dort in "BODY" sind mit Sicherheit noch Childs. Ich habe ja schließlich auch Inhalt im IFrame, den kann ich begucken ;-)
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:
parent.frames[0].document.childNodes[0].childNodes[1].nodeName; // --> #text
parent.frames[0].document.childNodes[0].childNodes[2].nodeName; // --> BODY
und darunter wird auch der IFRAME gefunden.
Beim IE klappt das direkt (wie von Dir beschrieben).
parent.frames[0].document.getElementsByTagName("body")[0].hasChildNodes(); ergibt bei beiden Browsern true.
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.
MfG, Thomas