Frameset dynamisch nachladen
Fmo
- javascript
0 ritschmanhard0 Fmo
Hallo, hatte viele Probleme, inzwischen wurde mir hier 1a weitergeholfen,
durch lesen hier konnte ich mir den Rest selbst zusammenreimen...
Ich hab folgendes Problem:
mit dem link:
<a href="frameset.htm?links=linkeseite.htm&rechts=rechteseite.htm">Klick mich!</a>
ruf ich die datei frameset.htm auf:
<head>
<SCRIPT language="JavaScript">
<!--
function checkFramecall() {
var strVars = location.search;
strVars = strVars.replace("?","");
var splitVars = new Array();
var vars = new Array();
splitVars = strVars.split("&");
for(i=0;i<splitVars.length;i++)
{
var tmp = splitVars[i].split("=");
var nname = tmp[0];
vars[nname] = tmp[1];
}
//variabeln anzeigen
alert(vars["links"]);
alert(vars["rechts"]);
//Frames ändern
frames.xyzVerweisframe.location.href=vars["links"];
frames.xyzHauptframe.location.href=vars["rechts"];
}
//-->
</SCRIPT>
</head>
<frameset cols="60,*" onLoad="checkFramecall()">
<frame name="xyzVerweisframe" src="dummy_links">
<frame name="xyzHauptframe" src="dummy_rechts">
</frameset>
das funktioniert alles prima, variabeln werden richtig aufgelöst,
und die _erste_ Zeile von frames ändern funktioniert auch -
seltsamerweise tut es die zweite Zeile nicht!
will heissen, in meinem frameset bleibt "dummy_rechts" als source stehen.
ich finde den Fehler nicht.
wer kann helfen?
Hi Fmo!
Zuerst die gute Nachricht: dein Beispiel funktioniert bei mir einwandfrei.
(Apache, Firefox)
Folgend die Fehleranmerkungen:
<SCRIPT language="JavaScript">
Hier fehlt das obligatorische type="text/javascript" Attribut
Sodann (die übliche) Belehrung:
Es ist nicht empfehlenswert, für den Aufbau einer Seite Framsets und Javascript zu verwenden. Denn diese stören in Bezug auf:
Und final der Tip damit es läuft:
da der erste Frame noch geladen wird und du mittels alert ja auch die geparsten Parameter nochmal ansehen kannst, vermute ich, dass:
frames.xyzHauptframe.location.href=vars["rechts"];
und
<frame name="xyzHauptframe" src="dummy_rechts">
im Original einfach _nicht_ gleich benannt sind, z.b.:
frames.xyzHauptframe.location.href=vars["rechts"];
und
<frame name="xzyHauptfarme" src="dummy_rechts">
Verwende doch mal den Firefox für den Aufruf und schreib, was seine Fehlerkonsole meldet.
Viele Grüsse,
Richard
ok, vielen dank für deine ausführliche antwort-
die geschichte funktioniert bei mir eigetnlich auch -
wenn man real existierende seiten referenziert dann klappts.
Die Fehlermeldung des Firefox zeigt mir auf der rechten Seite zwar
noch dummy_rechts an, wenn die seite im link _nicht_ existiert,
aber das is für mich irrelevant....
danke auch für die belehrung - das ganze ding wird aber für
eine Perl anwendung gebraucht, die mir einen Haufen von diesen
Links (wie oben) erzeugt und erstellt mir daraus eine html seite
um logfiles übersichtlich aufrufen zu können...
durchsichtigkeit für suchmaschinen also völlig egal :)
gruss fmo