Seite zwingend im Frame öffnen

Hallo,

ich habe eine Seite mit Frames erstellt und möchte nun, dass bei dem direkten Aufruf einer Seite dies automatisch im Frame geöffnet wird.

Meine Verzeichnisstruktur sieht vereinfacht folgendermassen aus:

./auto
./auto/auto_links.htm
./auto/nsuprinz.htm
./auto/index_auto_f.htm
./auto/nav_aut.htm

Ich möchte, dass wenn man die Seite ./auto/nsuprinz.htm direkt aufruft, automatisch im linken Frame die Seite ./auto/nav_aut.htm angezeigt wird und im rechten Frame ./auto/auto_links.htm.

Soweit so gut, dies konnte ich erst mal folgendermassen lösen:

In ./auto/index_auto_f.htm steht folgendes:

Homepage
\<!--
 function checkFramecall() {
 var Adressanhang=location.search;
 if(Adressanhang)
 frames.main.location.href=Adressanhang.substring(1,Adressanhang.length);
 }
//--\>


[Navigation](verweise.htm) [Daten](startseite.htm) 

In ./auto/auto_links.htm steht folgendes:

Auto
/\* ... hier sind dateispezifische Formate erlaubt ... \*/

 \<!--
 function checkFrameset() {
 if(!parent.daten)
 location.href="./index\_auto\_f.htm?" + location.pathname;
 }
 //--\>

Auto Links

Das funktioniert auch soweit.

Mein Problem ist nun, dass ich eigentlich nicht für jede Datei in diesem Ordner eine eigene index_auto_f.htm anlegen will, sondern das alles über die eine index_auto.htm machen möchte.

Wenn ich nun aber in der nsuprinz.htm folgendes eingebe:

Auto
/\* ... hier sind dateispezifische Formate erlaubt ... \*/

 \<!--
 function checkFrameset() {
 if(!parent.daten)
 location.href="./index\_auto\_f.htm?" + location.pathname;
 }
 //--\>

NSU Prinz

… dann öffnet mir das index_auto_f.htm auch die auto_links.htm, statt die nsuprinz.htm. Oben in der Adresszeile steht dann aber:

http://.../auto/index\_auto\_f.htm?.../auto/nsuprinz.htm

Trotzdem steht dann im rechten Frame die auto_links.htm

Wie kann ich das ändern? Wie wird hier die Variable richtig übergeben?

Grüsse
schuelsche

noch verwirrender geht es kaum
Hallo,

im Web kann man hierzu unter „dynamische Framesets“ einiges finden.

Der Frameset sieht dann wie folgt aus:

Homepage\<!--

 document.write( "\<frameset cols=\"150,\*\" frameborder=\"0\" framespacing=\"0\" border=\"0\" onload=\"if ( top.location != self.location ) top.location = self.location;\"\>\n" );
 document.write( "\<frame src=\"nav\_aut.htm\" name=\"navigation\" noresize\>\n" );
 document.write( "\<frame src=\"" );
 document.write( (window.location.search.substr(1).length)?window.location.search.substr(1):"auto\_links.htm" );
 document.write( "\" name=\"daten\"\>\n" );
 document.write( "\</frameset\>\n" );

//--\>


[Navigation](verweise.htm)
[Daten](startseite.htm) 

in den einzelnen Seiten kannst Du das body onLoad=‚checkFrameset()‘ mit

ersetzen, besser wäre es aber, wenn Du in Zukunft weitere JavaScripts in alle Seiten einbauen willst, dass Du dir bspw. eine rechts.js erstellst

/\* redirect \*/
 if ( top.location == self.location ) top.location.href = "index\_auto\_f.htm?".concat( self.location.pathname );

und diese in alle Seiten einbaust, die in den rechten Frame kommen

 Auto/\* ... hier sind dateispezifische Formate erlaubt ... \*/

NSU Prinz
und sauberer coden!

Wenn ich nun aber in der nsuprinz.htm folgendes eingebe:

Gruß
Christian