Flo: Aufruf einer Seite mit Parameter

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

  1. 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

    1. 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.

  2. 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">');