Frames nachladen
Thomas
- javascript
0 XaraX
Hallo, benötige mal eure hilfe da ich in javascript nicht so firm bin. Also, ich habe eine website http://www.thomasbaumbach.de die aus frames aufgebaut ist. ich habe als frameset die datei index.html. es gibt drei frames links=menüleiste top=obere balken und mainFrame=hier werden alle seiten geladen. Jetzt möchte ich das wenn eine Seite ohne den frameset, also die index.html geladen wird, der frameset nachgeladen wird. dazu verwende ich folgendes script auf der index.html:
<script language="JavaScript">
<!--
function Jump() {
if (top.location.search!="") {
var Size=top.location.search.length;
var Address=top.location.search.substring(1,Size);
if(document.images)
top.mainFrame.replace(Address);
else top.mainFrame.href=Address;
}
}
//-->
</script>
und im body = nLoad="Jump()"
auf den seiten die den frameset nachladen sollen den script:
<script language="JavaScript">
<!--
function FramesetTest() {
if (top.frames.length==0) {
Address="index.html?kontakt.html";
if(document.images) top.location.replace(Address);
else top.location.href=Address;
}
}
//-->
</script>
und im body = onload="FramesetTest();"
Wenn ich jetzt nur die seite www.thomasbaumbach.de/kontakt aufrufe sollte eigentlich der frameset nachgeladen werden, allerdings erscheint dann immer die titelseite und nicht die kontaktseite. Wo mache ich den da was falsch?
Gruß Thomas
Hallo Thomas,
Dein Frameset kommt derzeit folgendermaßen daher:
<frameset cols="188,*" frameborder="NO" border="0" framespacing="0" cols="*">
<frame name="links" scrolling="NO" noresize src="link-index.html">
<frameset rows="40,*" frameborder="NO" border="0" framespacing="0" cols="*">
<frame name="top" scrolling="NO" noresize src="top.html" >
<frame name="mainFrame" src="titelseite.php">
</frameset>
</frameset>
<noframes><body onLoad="Jump()" bgcolor="#FFFFFF">
</body></noframes>
Grundlegend ist festzustellen, daß die Angabe <body onLoad="Jump()"> im NOFRAME-Fall sehr sehr sehr flüssig ist ;)
Aus Sicht eines, in einem Frameset geladenen, Dokuments ist top.res ein im obersten Dokument geladenes/vorhandenes Unterobjekt "res". Aus Sicht des obersten Dokuments ist top die Referenz auf sich selbst. Leider aber nicht in Deinem Falle! Da top gleichfalls einen Frame bezeichnet, kommst Du in einen Konflikt.
Nächste Nettigkeit in der Funktion Jump():
top.mainFrame.replace(Address);
mainFrame ist die Referenz auf das Objekt WINDOW(!). Dieses Objekt kennt die Methode replace() nicht. Wohl aber kennt das Objekt location, was seinerseits Unterobjekt windows ist, diese Methode.
http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/index.htm
Gruß aus Berlin!
eddi