2 iframes verändern
Malte
- javascript
Seid gegrüßt.
Kann mir jemand sagen, wie man den Inhalt von zwei iframes durch einen Klick auf einen Link verändern kann?
Ich hab mir schon ein Script runtergeladen, womit man 2 normale Frames verändert, und einfach die Namen der iframes eingetragen. Klappt auf Anhieb, doch wenn dann ein dritter Frame ins Spiel kommt, geht nichts mehr.
Bsp.:
geht:
__________________________
________ ___________ |
iframe1 | | iframe2| |
________| |_________| |
|
_________________________|
geht nicht:
_________________________
zusätzlicher Frame |
_________________________|
________ ___________ |
iframe1 | | iframe2| |
________| |_________| |
|
_________________________|
Hier das Script (steht im Body):
<SCRIPT language="JavaScript">
<!--
<a href="" onClick="parent.FrameName1.location='ErsterLink.html';
parent.FrameName2.location='ZweiterLink.html'; return false;">
Beschreibung des Linkes</a>
// -->
</SCRIPT>
Es ging aber nur bei Beispiel 1 und wenn ich gleichzeitig das
<SCRIPT language="JavaScript">
<!--
und das
// -->
</SCRIPT>
weggelassen hab.
Wem es nicht zu bescheuert ist, der kann mir ja vieleicht helfen.
Gruß Malte
Seid gegrüßt.
Hallo
Kann mir jemand sagen, wie man den Inhalt von zwei iframes durch einen Klick auf einen Link verändern kann?
Ich hab mir schon ein Script runtergeladen, womit man 2 normale Frames verändert, und einfach die Namen der iframes eingetragen. Klappt auf Anhieb, doch wenn dann ein dritter Frame ins Spiel kommt, geht nichts mehr.
Bsp.:
geht:
__________________________
________ ___________ |
iframe1 | | iframe2| |
________| |_________| |
|
_________________________|
geht nicht:
_________________________
zusätzlicher Frame |
_________________________|
________ ___________ |
iframe1 | | iframe2| |
________| |_________| |
|
_________________________|
Hier das Script (steht im Body):
<SCRIPT language="JavaScript">
<!--
<a href="" onClick="parent.FrameName1.location='ErsterLink.html';
parent.FrameName2.location='ZweiterLink.html'; return false;">
Beschreibung des Linkes</a>
// -->
</SCRIPT>
Es ging aber nur bei Beispiel 1 und wenn ich gleichzeitig das
<SCRIPT language="JavaScript">
<!--
und das
// -->
</SCRIPT>
weggelassen hab.
Versteh ich nicht
Wem es nicht zu bescheuert ist, der kann mir ja vieleicht helfen.
Versuch einfach mal das parent wegzulassen
Gruß Malte
cu
Tim
hallo Tim,
[ ... ]
Versteh ich nicht
kleine Bitte: wenn du bloß das zu sagen hst, brauchst du nicht das gesamte vorherige posting zu zitieren.
Wem es nicht zu bescheuert ist, der kann mir ja vieleicht helfen.
Versuch einfach mal das parent wegzulassen
das wird Malte nicht weiterhelfen.
Was Malte vielleicht weiterhilft:
<SCRIPT language="JavaScript">
<!--
<a href="" onClick="parent.FrameName1.location='ErsterLink.html';
parent.FrameName2.location='ZweiterLink.html'; return false;">
Beschreibung des Linkes</a>
// -->
</SCRIPT>
hier hatte er einfach nicht verstanden, daß es ihm ja "nur" um den link geht, und daß das ja gar kein eigener Scriptcode ist. Folgerichtig funktioniert dann auch
<a href="" onClick="parent.FrameName1.location='ErsterLink.html';
parent.FrameName2.location='ZweiterLink.html'; return false;">
Beschreibung des Linkes</a>
völlig ohne <script languge ...>-Angaben. Und wenn man bedenkt, daß "onclick" ein EventHandler ist, der einige Standard-Javascript-Methoden versteht (es dürfen dann bloß keine selbstdefinierten Funktionen aufgerfen werden, sofern sie nicht vorhanden sind), wird auch verständlich, _warum_ das so ist.
"parent" muß übrigens stehenbleiben. Statt "FrameName1" kann natürlich jeder Eigenname eines vorhandenen Frames eingesetzt werden, und auch iFrames sind ja nichts anderes als Frames.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Versuch einfach mal das parent wegzulassen
das wird Malte nicht weiterhelfen.
Doch, es hilft.
<a href="" onClick="parent.FrameName1.location='ErsterLink.html';
parent.FrameName2.location='ZweiterLink.html'; return false;">
Beschreibung des Linkes</a>
"parent" muß übrigens stehenbleiben. Statt "FrameName1" kann natürlich jeder Eigenname eines vorhandenen Frames eingesetzt werden, und auch iFrames sind ja nichts anderes als Frames.
Iframes sind Unterobjekte der Seite, in die sie eingebettet sind, und können von dort ganz ohne parent nur mit ihrem Namen angesprochen werden. Denn parent wechselt zur nächst höheren Fenster-Ebene (falls vorhanden), in Maltes zweitem Fall also zum übergeordneten Frameset, in dem zwar der Hauptframe definiert ist, nicht aber die im Hauptframe enthaltenen iframes.
Schon in Maltes erstem Fall ist das parent überflüssig, da das Fenster ja keine übergeordnete Ebene hat. Es schadet hier aber auch nichts, da parent auch auf der höchsten Ebene immer definiert ist, nämlich als das Fenster selbst. Ob man schreibt "iframeName.location" oder "parent.iframeName.location" oder "parent.parent.parent.iframeName.location", macht keinen Unterschied.
Grüße, Stefan
<a href="" onClick="parent.FrameName1.location='ErsterLink.html';
parent.FrameName2.location='ZweiterLink.html'; return false;">
Beschreibung des Linkes</a>
<a href="" onClick="parent.FrameName1.location='ErsterLink.html';
parent.FrameName2.location='ZweiterLink.html';
parent.FrameName3.location='DritterLink.html'; return false;">
Beschreibung des Linkes</a>
Gruß
David