Aufruf einer Seite mit Parameter
Flo
- https
0 Stefan Muenz0 Flo
0 Jens Menke
Hallo!
Ich habe am 14.6. schon mal eine Frage gepostet und auch prompt tolle Hilfe von Stefan Bion bekommen. Ich habe jetzt nur folgendes Problem damit:
Das ganze sollte so funktionieren, dass ich auf einer Seite (home.htm) mehrere Links auf andere Seiten meines Webs anbiete. Wenn der Nutzer darauf klickt soll ein Frameset (frame.htm) geladen werden und im Hauptframe die entsprechende Seite geladen werden (z.B. branchen.htm). Hier kommen jetzt die Code-Schnipsel der einzelnen Seiten:
Home.htm (href="Inhalte/Branchen/branchen.htm")
branchen.htm:
<script language = "JavaScript">
function checkFrames()
{ if (top.frames.length == 0 top.frames[3].name != "seiteFrame")
top.location.href = "../../frame.htm?Inhalte/Branchen/" + location.href.substring(location.href.lastIndexOf("/") + 1, location.href.length);
}
</script>
frame.htm
...
var seite = location.search.substring(1,location.search.length);
document.write('<frame src="' + seite + '" name="seiteFrame">');
...
So! Das ganze funktioniert super, wenn ich es von meiner Festplatte starte. Wenn ich es auf dem Web-Server aufrufe (Apache unter Linux) geht es aber nicht mehr!!! Dann kommt nähmlich die Meldung: "Seite ../../frame.htm?Inhalte/Branchen/branchen.htm kann nicht geladen werden"! Will heissen, dass der Server nicht kapiert, dass das '?' die aufgerufene Seite von der Parameter-Angabe trennt!
Ich hoffe auf euer Wissen, meins ist da am Ende!
Vielen Dank,
Flo
Hallo Flo
So! Das ganze funktioniert super, wenn ich es von meiner Festplatte starte. Wenn ich es auf dem Web-Server aufrufe (Apache unter Linux) geht es aber nicht mehr!!! Dann kommt nähmlich die Meldung: "Seite ../../frame.htm?Inhalte/Branchen/branchen.htm kann nicht geladen werden"! Will heissen, dass der Server nicht kapiert, dass das '?' die aufgerufene Seite von der Parameter-Angabe trennt!
Probier vielleicht mal die neu entdeckte "Geheimwaffe" zum Uebergeben von JavaScript-Daten zwischen Dokumenten aus - die Bombenanleitung steht auf http://www.teamone.de/selfaktuell/wertueb.htm. Damit vermeidest du alle Parameteruebergaben!
viele Gruesse
Stefan Muenz
Probier vielleicht mal die neu entdeckte "Geheimwaffe" zum Uebergeben von JavaScript-Daten zwischen Dokumenten aus - die Bombenanleitung steht auf http://www.teamone.de/selfaktuell/wertueb.htm. Damit vermeidest du alle Parameteruebergaben!
Habe ich gemacht und es funktioniert auch. Besten Dank!
Was mich trotzdem interessieren würde ist warum es auf der Festplatte ging und vom Web-Server nicht.
So! Das ganze funktioniert super, wenn ich es von meiner Festplatte starte. Wenn ich es auf dem Web-Server aufrufe (Apache unter Linux) geht es aber nicht mehr!!! Dann kommt nähmlich die Meldung: "Seite ../../frame.htm?Inhalte/Branchen/branchen.htm kann nicht geladen werden"! Will heissen, dass der Server nicht kapiert, dass das '?' die aufgerufene Seite von der Parameter-Angabe trennt!
Hm.. merkwürdig eigentlich.. versteht der Server denn
was wie frame.htm?URL=branchen.htm ??
dann könnteste folgendes Script benutzten das ich mal
dem request.querystring von ASP nachempfunden habe,man
kann damit sonst auch mehrer Parameter über die URL
übergeben..
function QueryString(ID)
{
myURL = window.location.search;
Start= myURL.indexOf("?");
if (Start==-1) {return("");}
qString = myURL.substr(Start,myURL.length-Start);
Start= qString.indexOf(ID+"=");
if (Start==-1) {return("");}
Start = Start+ID.length+1;
qString = qString.substr(Start,qString.length-Start);
if (qString.indexOf("&")!=-1) {qString=qString.substr(0,qString.indexOf("&"));}
return(qString);
}
document.write('<frame src="' + QueryString('URL') + '" name="seiteFrame">');