Supportnet / Forum / Webseiten/HTML
Ein click - 2 Frames ändern
Frage
Hallo!
Kann mir jemand sagen, wie ich mit einem click auf nen link den Inhalt von 2 frames gleichzeitig ändern kann?
(bsp: ein frame oben quer, 2 frames längs darunter; click auf nen link im oberen und beide frames unten sollen neue, unterschiedliche seite anzeigen)
geht das mit html oder nur mit js.
wenn jemand was dazu weiß, bitte mit code!
Danke Michael
Antwort 1 von murphy8119
Hi Michael so weit ich weiß geht das mit JS.
Füge in die angesteuerte Seite volgendes ein :
<base target="inf">
<script language="JavaScript">
<!--
function recall ()
{
parent.frames[1].location.href="os1.htm"
parent.frames[2].location.href="qwer.htm"
}
//-->
</script>
</HEAD>
<BODY bgcolor="#FEEFC4" onLoad="recall ()">
Wenn die Seite aufgerufen wird wird vom BODY aus die "recall()" Funktion aufgerufen.
parent.frames[1].location.href <- Durch die Zahl in den eckigen Klammen gibst du an welche HTML-Seite in welchem Frame geladen wird. So wird in dem oben dargestellten Bsp. im Frame1 die "os1.htm" geladen und im Frame2 die "qwer.htm" geladen.
Bitte beachte das man mit 0 an fängt zu zählen und nicht mit 1 !!
Einfach ein wenig rumspielen.
Alles Gute
murphy
Füge in die angesteuerte Seite volgendes ein :
<base target="inf">
<script language="JavaScript">
<!--
function recall ()
{
parent.frames[1].location.href="os1.htm"
parent.frames[2].location.href="qwer.htm"
}
//-->
</script>
</HEAD>
<BODY bgcolor="#FEEFC4" onLoad="recall ()">
Wenn die Seite aufgerufen wird wird vom BODY aus die "recall()" Funktion aufgerufen.
parent.frames[1].location.href <- Durch die Zahl in den eckigen Klammen gibst du an welche HTML-Seite in welchem Frame geladen wird. So wird in dem oben dargestellten Bsp. im Frame1 die "os1.htm" geladen und im Frame2 die "qwer.htm" geladen.
Bitte beachte das man mit 0 an fängt zu zählen und nicht mit 1 !!
Einfach ein wenig rumspielen.
Alles Gute
murphy
Antwort 2 von Rangoo
Also, der Viagra hat mir folgenden Tipp gesagt:
<script language="Javascript">
parent.Framename.location.href="seite.html";
</script>
Einfach in den Head der durch den Klick auf den Link aufgerufenen Seite packen, dann wird auch das zweite Frame geladen.
Framename musst du durch den Namen des Frames ersetzen und seite.html ist die Seite, die in dem Frame aufgerufen werden soll.
<script language="Javascript">
parent.Framename.location.href="seite.html";
</script>
Einfach in den Head der durch den Klick auf den Link aufgerufenen Seite packen, dann wird auch das zweite Frame geladen.
Framename musst du durch den Namen des Frames ersetzen und seite.html ist die Seite, die in dem Frame aufgerufen werden soll.
Antwort 3 von Friedel
Es geht mit HTML nicht. Mit JavaScript ist es kein Problem. Die Lösung, die Rangoo von Viagra hat, ist sehr einfach (und funktioniert natürlich auch), hat aber einen Nachteil. Wenn du das so machst, wird die zweite Seite immer geladen, wenn die direkt aufgerufene angezeigt wird. Es geht auch anders und ohne diese Einschränkung.
Angenommen in deinem Frameset werden die Frames "frame", "frame" und "frame" definiert. In "aframe" wird die Seite "a1.htm" angezeigt, in "bframe" wird die Seite "b1.htm" angezeigt, und in "cframe" wird "c1.htm" angezeigt. In "a1.htm" ist ein Link. Wenn er angeklickt wird, soll in "bframe" die Seite "b2.htm" angezeigt werden und in "cframe" soll "c2.htm" angezeigt werden.
Dazu fügst du in den Head von "a1.htm" folgendes ein:
<script language="JavaScript">
<!--
function meinlink()
{
parent.bframe.location.href="b2.htm"
parent.cframe.location.href="c2.htm"
}
//-->
</script>
In den Body der Seite mußt du dann noch den Link einbauen:
<a href="javascript:meinlink()">Hier klicken</a>
Diese Methode hat den Vorteil, daß die Seiten durch andere Links auch einzeln angezeigt werden können oder auch ohne Frameset angezeigt werden können.
Angenommen in deinem Frameset werden die Frames "frame", "frame" und "frame" definiert. In "aframe" wird die Seite "a1.htm" angezeigt, in "bframe" wird die Seite "b1.htm" angezeigt, und in "cframe" wird "c1.htm" angezeigt. In "a1.htm" ist ein Link. Wenn er angeklickt wird, soll in "bframe" die Seite "b2.htm" angezeigt werden und in "cframe" soll "c2.htm" angezeigt werden.
Dazu fügst du in den Head von "a1.htm" folgendes ein:
<script language="JavaScript">
<!--
function meinlink()
{
parent.bframe.location.href="b2.htm"
parent.cframe.location.href="c2.htm"
}
//-->
</script>
In den Body der Seite mußt du dann noch den Link einbauen:
<a href="javascript:meinlink()">Hier klicken</a>
Diese Methode hat den Vorteil, daß die Seiten durch andere Links auch einzeln angezeigt werden können oder auch ohne Frameset angezeigt werden können.
Antwort 4 von PegelBoee
Danke Jungs,
habt mir sehr geholfen.
Pegelböe
habt mir sehr geholfen.
Pegelböe

