Hauptframe bei Aufruf einer neuen Seite/Link leeren
Uwe Karmann
- javascript
Hallo,
ich habe ein Problem bei der Neugestaltung einer Webseite.
Die Webseite startet mit einem frameset:
------------------------------
| oben.......... |
------------------------------
| ....................| r |
| ....................| e |
| ....................| c |
| hauptframe... | h |
| ....................| t |
| ....................| s |
| ....................| . |
------------------------------
| unten................. |
------------------------------
im frame rechts werden Fotoalben angezeigt, klickt man auf ein Album, erscheinen die thumbnails im frame unten. Klickt man auf ein Thumbnail, kommt das Foto im Hauptframe. Im frame oben sind Links usw.
Ich möchte nun erreichen, das, wenn ich auf ein neues Album im rechten frame klicke, der Inhalt des Hauptframe gelöscht wird. Momentan bleibt das zuletzt aufgerufene Bild des vorigen Album stehen.
Genauso möchte ich erreichen, das, wenn ich auf einen Link im frame oben klicke, die Inhalte des Hauptframes und des frame unten gelöscht (geleert) werden.
Nachfolgend noch mein frameset:
<FRAMESET frameborder="0" border="0" rows="12%,*">
<FRAME name="oben" src="oben.htm" scrolling="no" marginheight="0" marginwidth="0" border="0">
<FRAMESET rows="82%,*">
<FRAMESET cols="88%,*">
<FRAME name="hauptframe" src="main.htm" marginheight="0" marginwidth="0" border="0">
<FRAME name="rechts" src="rechts.htm" marginheight="0" marginwidth="0" border="0">
</FRAMESET>
<FRAME name="unten" src="unten.htm" marginheight="0" marginwidth="0" border="0">
</FRAMESET>
</FRAMESET>
<noframes>
Ihr Browser unterstützt leider keine Frames!
</noframes>
Ich habe es zunächst in der Seite (rechter frame), wo die Gallerien aufgerufen werden, so versucht:
<meta http-equiv="content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="www.mmag-online.de">
<link href="format.css" rel="stylesheet" type="text/css">
</head>
<BODY>
<script language="javascript">
function click() {
if (event.button==2) {
alert('Sorry, alle Bilder copyright ! uwe@karmann-net.de');}
{
if (window.event.keyCode >= 27 && window.event.keyCode < 256) // capture all keystrokes
alert('Sorry, alle Bilder copyright ! webmaster@karmann-net.de');
}
}
document.onmousedown=click
document.onkeydown=click
</script>
<script type="text/javascript">
<!--
function ZweiFrames(URI1,F1,URI2,F2) {
Frame1=eval("parent."+F1);
Frame2=eval("parent."+F2);
Frame1.location.href = main.htm;
Frame2.location.href = unten.htm;
}
//-->
</script>
<DIV align="center"><I><B><FONT size="3"> Gallerien </I></B> </FONT></DIV>
<br>
<DIV align="center"><A href="javascript:ZweiFrames('main.htm','hauptframe','nordsee/index.htm','unten')">
<A href="nordsee/index.htm" target="unten"><img
src="gallerie_nordsee-thumb.jpg" alt="Gallerie An der Nordsee" border="0" width=70
height=50> </DIV>
<DIV align=center><A href="nordsee/index.htm" target="unten"><FONT size="1"><B><I> An der
Nordsee</I></B></Font></A></DIV>
<br>
Leider klappt es nicht, klicke ich auf das Album Nordsee, erscheinen zwar
die Thumbnails im frame unten, aber der hauptframe wird nicht neu eingelesen bzw. der Inhalt gelöscht. Es bleibt immer noch das zuletzt aufgerufene Bild eines anderen Albums hier stehen (in o. a. Beispiel sind nicht alle Verweise enthalten ).
Weiß jemand Rat??
Danke
Gruß
Jui
Hallo,
du möchtest also zwei Frames gleichzeitig ändern? Wenn dem so ist, so findest du die Antwort auf deine Frage in der FAQ.
MfG
André
Hi Jui,
such mal im Forum nach 2 Frames laden oder so ähnlich.
Die Frage wurde hier schon öfters gestellt.
Gruss
Gugelhupf
Hallo Jui!
Mein Tip für deine Page: Nimm die schwachsinnige Sperrung der rechten Maustaste raus, denn wenn ich das Bild haben will, krieg ich es auch so....
Ansonsten einfach sowohl die Links "Oben" als auch die Alben "Rechts" mit JS hinterlegen und falls ein Klick auf sie erfolgt, wird dir jeweilige Funktion ausgeführt und mittels hauptframe.location.href="about:blank" der Hauptframe gelöscht.
Viel Spass,
Richard
Hallo richard,
danke für Deine Antwort.
Hallo Jui!
Mein Tip für deine Page: Nimm die schwachsinnige Sperrung der rechten Maustaste raus, denn wenn ich das Bild haben will, krieg ich es auch so....
ich weiss, man kann es umgehen, und mit IE 6 kommt ja auch die
schöne Symbolleiste oben am Bild. Ich mache meine Seiten gerade neu, das Sript will ich dann rausnehmen, wenn alles fertig ist.
Ansonsten einfach sowohl die Links "Oben" als auch die Alben "Rechts" mit JS hinterlegen und falls ein Klick auf sie erfolgt, wird dir jeweilige Funktion ausgeführt und mittels hauptframe.location.href="about:blank" der Hauptframe gelöscht.
hättest Du Zeit, die Funktion an meinem folgenden Beispiel mal anzuzeigen, ich habe es jetzt mal versucht, bekomme es aber nicht hin (bin bzgl. java absoluter Neuling):
<script type="text/javascript">
<!--
function ZweiFrames(URI1,F1,URI2,F2) {
Frame1=eval("parent."+F1);
Frame2=eval("parent."+F2);
Frame1.location.href = main.htm;
Frame2.location.href = unten.htm;
}
//-->
</script>
<DIV align="center"><I><B><FONT size="3"> Gallerien </I></B> </FONT></DIV>
<br>
<DIV align="center"><A href="javascript:ZweiFrames('main.htm','hauptframe','unten','unten')">
<A href="nordsee/index.htm" target="unten"><img
src="gallerie_nordsee-thumb.jpg" alt="Gallerie An der Nordsee" border="0" width=70
height=50> </DIV>
<DIV align=center><A href="nordsee/index.htm" target="unten"><FONT size="1"><B><I> An der
Nordsee</I></B></Font></A></DIV>
<br>
Gruß
Jui
Hallo Jui!
Befinde sich also dein JS beispielsweise im Frame "Oben"
Oben:
<html>
<head>
<script type="text/javascript">
<!--
function ZweiFrames(URI1,F1,URI2,F2) {
Frame1=eval("parent."+F1);
Frame2=eval("parent."+F2);
Frame1.location.href = URI1;
Frame2.location.href = URI2;
}
//-->
</script>
</head>
<body>
Dies sei also rechts:
<html>
<head></head>
<body>
<DIV align="center"><I><B><FONT size="3"> Gallerien </I></B> </FONT></DIV>
<br>
<DIV align="center">
<A href=
"javascript:parent.oben.ZweiFrames('about:blank','hauptframe','nordsee/index.htm','unten')">
<img src="gallerie_nordsee-thumb.jpg" alt="Gallerie An der Nordsee" border="0" width="70" height="50">
</A>
</body>
</html>
Klickst du nun auf den Link rechts, so wird unten mit nordsee/index.htm belegt. Gleichzeitig wird hauptframe mit about:blank belegt(also gelöscht). Fehler sind möglich, da dies wirklich nicht als JS Editor gedacht war...
Viel Spass,
Richard
!! Danke !!
Hallo Jui!
Befinde sich also dein JS beispielsweise im Frame "Oben"Oben:
<html>
<head>
<script type="text/javascript">
<!--
function ZweiFrames(URI1,F1,URI2,F2) {
Frame1=eval("parent."+F1);
Frame2=eval("parent."+F2);
Frame1.location.href = URI1;
Frame2.location.href = URI2;
}
//-->
</script>
</head>
<body>Dies sei also rechts:
<html>
<head></head>
<body>
<DIV align="center"><I><B><FONT size="3"> Gallerien </I></B> </FONT></DIV>
<br>
<DIV align="center">
<A href=
"javascript:parent.oben.ZweiFrames('about:blank','hauptframe','nordsee/index.htm','unten')">
<img src="gallerie_nordsee-thumb.jpg" alt="Gallerie An der Nordsee" border="0" width="70" height="50">
</A>
</body>
</html>Klickst du nun auf den Link rechts, so wird unten mit nordsee/index.htm belegt. Gleichzeitig wird hauptframe mit about:blank belegt(also gelöscht). Fehler sind möglich, da dies wirklich nicht als JS Editor gedacht war...
Viel Spass,
Richard