Parent-Fenster aus iFrame nicht ansprechbar
Ronny 123
- perl
Hallo,
meine Lösung erfolgt zwar mit HTML und Javescript. Funktioniert auch problemlos, wenn ich neben der Seite des Parent-Fensters auch die Seite im Inline-Frame als html-Datei speichere.
Ich habe desshalb Perl im Themenbereich gewählt, da das folgende Problem nur auftritt, wenn die HTML-Seite über Perl im iFrame ausgeben wird.
Der iFrame im Parentfenster ist wie folgt definiert:
<iframe src="http://www.domainname.de/cgi-bin/tabelle.cgi" width="350" height="100" id="Tabelle" frameborder="0" target="Frame" scrolling="no"></iframe>
Im Programm tabelle.cgi wird dann die Seite im Frame erzeugt. Dort setze ich gleich nach dem <body> einen Block <div id="Tabellenzeilen"> den ich am Ende der zu erzeugenden Sei mit </div> beende, um die benötigte Höhe der Seite zu erhalten. Danach gebe ich vor dem </body> folgende Zeilen in Javasript aus, die die Höhe des Inline-Frames neu setzen sollte:
print "<script type='text/javascript'>\n";
print "parent.document.getElementById('Tabelle').height
= document.getElementById('Tabellenzeilen').offsetHeight;\n";
print "</script>\n";
Es passiert bezüglich der Änderung von Height des Frames nichts, auch wenn ich statt .height .style.height codiere. Ist da in Bezug zum Parentfenster ein Unterschied, ob die Seite im Frame aus einer gespeicherten HTML-Datei kommt, oder von einem cgi erzeugt wird, denn im ersten Fall funktionieren die gleichen Javascript-Befehle?
Für eine Auskunft schon mal vielen Dank.
hi,
Ich habe desshalb Perl im Themenbereich gewählt, da das folgende Problem nur auftritt, wenn die HTML-Seite über Perl im iFrame ausgeben wird.
Hatte mich schon gewundert ... und hätte dir normalerweise auch empfohlen, an den Client ausgelieferten Code zu vergleichen. Aber ...
<iframe src="http://www.domainname.de/cgi-bin/tabelle.cgi" width="350"
Kann es vielleicht sein, dass www.domainname.de nicht mit deiner Domain identisch ist, unter der das Javascript ausgeführt wird?
Dann macht dir die Same Origin Policy einen Stricht durch die Rechnung.
gruß,
wahsaga
Hallo,
Dann macht dir die Same Origin Policy einen Stricht durch die Rechnung.
Ja, ich habe zum Test erst mal nur das cgi uploadet und die HTML-Parant von meinem PC aufgerufen. Nach dem ich auch die Parent-HTML-Datei uploadet hatte und von dort aufgerufen hat, hat es funktioniert. Also, eine Erfahrung reicher. Danke!
Gruß Ronny