Javascript im Frameset
Marcus
- javascript
0 Stefan Muenz0 Marcus
Hi Leute
Ich hab da ma ne Frage :)
Ich habe einen Frameset (index.html) mit 6 Frames etc.
Jetzt möchte ich, das die Hintergrundvilder der Frames ausgetauscht werden, kein Problem, wenn ich den JavaScript Code in einem der Frames habe (nicht in index.html). Wenn ich den Code aber in index.html einbauen, wird dieser nicht ausgeführt. Ist das normal ? Mache ich etwas falsch, geht das überhaupt ?
Vielen Dank schonmal im Vorraus
Marcus
Hallo Marcus
Wenn ich den Code aber in index.html einbauen, wird dieser nicht ausgeführt. Ist das normal ? Mache ich etwas falsch, geht das überhaupt ?
Natuerlich geht das. Die Frames muessen halt entsprechend adressiert werden. Ohne deinen Quelltext zu kennen, kann man dazu aber nichts weiter Sinnvolles sagen ...
viele Gruesse
Stefan Muenz
Kannste jetzt was dazu sagen ? :)
Danke natuerlich schon im vorraus :)
Bis denne
Marcus
<-- Schnipp index.html-->
<head>
<script type="text/javascript">
<!--
function setBack2() {
parent.topleft.document.close();
parent.topleft.document.write("<body background = "back2.bmp"></body>");
parent.downleft.document.close();
parent.downleft.document.write("<body background = "back1.bmp"></body>");
// animated Gif Background
parent.middleleft.document.close();
parent.middleleft.document.write("<body background = "agifback1.bmp"></body>");
parent.middleleft.document.write("<img src="saucer1.gif">");
parent.window.resizeTo(645,625);
window.setTimeout("setBack1()",3000);
}
function setBack1() {
parent.topleft.document.close();
parent.topleft.document.write("<body background = "back1.bmp"></body>");
parent.downleft.document.close();
parent.downleft.document.write("<body background = "back2.bmp"></body>");
// animated Gif Background 2
parent.middleleft.document.close();
parent.middleleft.document.write("<body background = "agifback2.bmp"></body>");
parent.middleleft.document.write("<img src="santa.gif">");
parent.window.resizeTo(645,625);
window.setTimeout("setBack2()",3000);
}
//-->
</script>
</head>
<html>
<!-- Creation date: 19.11.2001 -->
<frameset cols="512,*" border=0>
<frameset rows="65,*">
<frame name="topleft" src="topleft.htm">
<frameset rows="358,*">
<frame name="inhalt" src="inhalt.htm">
<frame name="downleft" src="downleft.htm">
</frameset>
</frameset>
<frameset rows="423,*">
<frameset rows="65,*">
<frame name="topright" src="topright.htm">
<frame name="middleleft" src="middleleft.htm">
</frameset>
<frame name="downright" src="downright1.htm">
</frameset>
<noframes>
<body onload="setBack2()">
</noframes>
</frameset>
</html>
<-- Schnipp -->
<body onload="setBack2()">
Wird in einer Framesetdatei möglicherweise nur ausgeführt, wenn der Browser KEINE Frames kennt, weil es ja im Noframes-Bereich steht. Und in Framesets ist <body> (außer im Noframes-Bereich) nicht erlaubt.
Starte dein Script so:
...
<script type="text/javascript" language="javascript">
<!--
setBack2();
//-->
</script>
</html>
- Sven Rautenberg
DANKE !!!
Das war genau der richtige Tip !!
Allerdings nicht ganz so wie du's gesagt hast, denn :
Ich kann erst auf die Frames zugreifen, NACHDEM diese im HTML Code erzeugt wurden, deswegen muss der aufruf setBack1(); in die onload dingens des Framesets selber
( <frameset ... onload="setBack1()"> )
Vielen Dank nochma an alle.
Bis denne
Marcus
DANKE !!!
Das war genau der richtige Tip !!
Allerdings nicht ganz so wie du's gesagt hast, denn :
Ich kann erst auf die Frames zugreifen, NACHDEM diese im HTML Code erzeugt wurden, deswegen muss der aufruf setBack1(); in die onload dingens des Framesets selber
( <frameset ... onload="setBack1()"> )
Deswegen hatte ich angedeutet, den Javascript-Code direkt vor dem Dateiende einzufügen. ;)
Egal, wenn Frameset auch onload kann und es funktioniert...
Vielen Dank nochma an alle.
Bis denne
Marcus
Bitte!
- Sven Rautenberg
:) Allerdings führt er am Ende irgendwie kein javascript mehr aus :)
Egal, es funzt :)
CU Maddi