keine Scripts in der Frame-Datei?
Felix
- javascript
Hallo, Spezialisten!
Da wollte ich doch versuchen, dass meine Seiten immer das zugehörige Frameset nachladen, falls es noch nicht angezeigt wird. Dazu sollte die Datei, in der das Frameset definiert ist, ein Script ausführen, um die vorherige Datei (wieder) anzuzeigen, zusammen mit einer Navigationsleiste (im rechten Frame).
Im Klartext:
Datei welcome.html prüft per JavaScript, ob sie in einem Frameset ist:
if (top.location==sefl.location) myframes();
Die Funktion myframes() extrahiert Pfad und Dateiname, damit das Frameset "weiss", von welcher Datei es geladen wurde, und was es jetzt gleich wieder anzeigen muss. Die Funktion myframe lädt also folgendes:
top.location.href="http://homepagesxyz/index.htm?welcome";
Jetzt soll "index.html" per Script aus dem "?welcome" die Datei "welcome.htm" machen und im Frameset anzeigen.
Hier der Quelltext für "index.html":
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>Homepage</title>
<frameset cols="200,*" border="0">
<frame src="about:blank" name="navigateMenue" noresize>
<frame src="frames.html" name="displayContent">
</frameset>
<script type="text/javascript">
<!--
function mypage()
{
if (parent.location.search!="")
var pagename = parent.location.search.substring(1,parent.location.search.length);
switch (pagename)
{
case "ABC": var url ="Verz1/index"; break;
case "BCD": var url ="Verz2/index"; break;
case "CDE": var url ="Verz3/index"; break;
case "links": var url ="links"; break;
default: var url = "welcome"; break;
}
parent.displayContent.location.href= url+".htm";
return true;
}
//-->
</script>
</head>
<body>
<noframes>
<table border="0" width="100%" height="100%">
<tr><td align="center">You still use a browser that does not know how to deal with frames!!!<br>Try upgrade your browser.</td></tr>
</table>
</noframes>
</body>
</html>
Jetzt meine Frage: Warum wird dieses Script NICHT AUSGEFÜHRT???
Um Rat und Hilfe wäre ich dankbar!
Gruß, Felix.
Hallo Felix,
das sieht ja alles sehr gut aus, jedoch:
Sag mir die Stelle an der die Funktion mypage aufgerufen wird, damit deren Code zur Ausführung kommt.
Ich finde da nichts.
Sollte das die Lösung bereits gewesen sein?
mit freundlichen Grüßen
Willcox
Moin!
das sieht ja alles sehr gut aus, jedoch:
Sag mir die Stelle an der die Funktion mypage aufgerufen wird, damit deren Code zur Ausführung kommt.
Ich finde da nichts.
Sollte das die Lösung bereits gewesen sein?
Naja, ansonsten kann man an der Seite noch genügend Fehler finden:
1. Frameset-Definition gehört nicht in den HEAD.
2. Framesets haben keinen Body, und wenn, gehört der Body IN die <NOFRAMES> rein, nicht umgekehrt.
3. Der Noframes-Text ist reichlich frech.
Ansonsten: http://aktuell.de.selfhtml.org/artikel/javascript/dyn-frames/index.htm lesen.
- Sven Rautenberg