Vela: get ElementsByTagName aus neuem Fenster

Beitrag lesen

@Struppi:

dokument2 ist kein document sondern ein window und besitzt folglich keine Funktion getElementsByTagName.

Aber in dem window befindet sich doch ein document, welches ich darin geöffnet habe, könnte ich mich dann mit einem dokument2.document.getElementsByTagName() retten? Es muß doch möglich sein, sich anhand des Fensters irgendwie in die HTML-Struktur des darin befindlichen Dokuments reinzuarbeiten.

Wenn die Domain in deinem Popup eine andere ist als in dem Hauptfenster, dann ja und es gibt auch keine Chance das zu umgehen.

In der Tat, das ist sie. Die Hauptseite liegt auf meiner Festplatte und die Domain des Popups ist meine Homepage. Aber was genau verhindert dann, die Kommunikation zwischen den Dokumenten? Die Sprache stellt doch eigentlich alles Nötige bereit, zumindest ist es das, was ich aus diesem Tutorial hier herausgelesen habe.

@Cybaer:

Du weist den Browser an en Dokument zu laden und wartest nicht ab, bis er dies tut.

Hm, daran hatte ich wirklich nicht gedacht. Würde es denn funktionieren, wenn ich etwas wie window.setTimeout(document.write(foobar + blafasel), 10000); schreiben würde? Oder müßte ich da komplexere Anweisungen geben?

oder einfacher: Soll das Popup doch selbst den Code schreiben: opener.document.write(document.getElementsByTagName("ul")[0].firstChild);

An eine solche Lösung hatte ich auch schon gedacht. Mein Versuch ergab aber gerade folgende Fehlermeldung: uncaught exception: Die Erlaubnis für das Lesen der Eigenschaft HTMLDocument.write wurde verweigert

Heißt das, dass ich, auch wenn ich den Javascript-Code für das document.write in Dokument2 ausgebe, nicht mit Dokument1 kommunizieren kann, wenn dieses nicht auf der selben Domain liegt? Hargh!

Liegt das am Browser und wenn ja, gibt es da irgendein runtime parser foobar compiler über den ich das Script ausführen könnte, ohne auf den Browser zurückgreifen zu müssen? Oder sollte ich Javascript aufgeben und mich besser auf Perl, Python, Ruby konzentrieren?