Mit einem Klick 2 Frames füllen

Hallo Experten!

Ich habe ein Problem mit einem Javascript-Menü (falls Ihr mal schauen wollt: http://www.csutor.de.vu tut nur mit IE nicht mit Mozilla):

Jetzt will ich ganz auf das Javascript verzichten und statt dessen mit einem Klick 2 Frames (links den Menü-Frame und den Hauptframe) mit Inhalt laden.

Wie mach ich das ohne Javascript, so dass es mit jedem Browser tut?

Tausend Dank schon im Voraus,

Christof

Hallo Christof!

Jetzt will ich ganz auf das Javascript verzichten und statt
dessen mit einem Klick 2 Frames (links den Menü-Frame und den
Hauptframe) mit Inhalt laden.

Wie mach ich das ohne Javascript, so dass es mit jedem Browser
tut?

Meiner Ansicht nach geht bei dieser Anforderung kein Weg an Javascript vorbei.
Hier ein kleines Script, das du im -Bereich einbaust:

<!–
function los(adresse1,frame1,adresse2,frame2)
{
parent.frames[frame1].location.href=adresse1;
parent.frames[frame2].location.href=adresse2;
}
function back(frame1,frame2)
{
parent.frames[frame1].history.back();
parent.frames[frame2].history back();
}
//–>

So siehen dann die Links in derselben Datei aus:

[Linktext1](javascript:los(‚aa.htm‘,1,‚ba.htm‘,2))
[Linktext2](javascript:los(‚ab.htm‘,1,‚bb.htm‘,2))
[Linktext3](javascript:los(‚ac.htm‘,1,‚bc.htm‘,2))

Der Link „Zurück“ für 2 Frames sähe dann so aus:

[Zurück](javascript:back(1,2))
Das Script lasse bitte unverändert. Nur in den Links musst du die realen Adressen angeben. Dort wo „1“ bzw. „2“ (im Link) steht, musst du die Indexnummer des erwünschten Frames angeben. Spiele ein bischen damit rum und du findest es schnell heraus.

Alternativ kann das Script wie folgt aussehen (Teilzitat aus SelfHTML):

<!–
function ZweiFrames(URI1,F1,URI2,F2)
{
Frame1=eval(„parent.“+F1);
Frame2=eval(„parent.“+F2);
Frame1.location.href = URI1;
Frame2.location.href = URI2;
}
function ZweiFramesBack(F1,F2)
{
Frame1=eval(„parent.“+F1);
Frame2=eval(„parent.“+F2);
Frame1.history.back();
if (!window.opera) window.setTimeout(„Frame2.history.back()“,10);
}
//–>

Dieses Script, wie immer, unverändert in den -Bereich. Die Links sehen dann so aus:

[Linktext1](javascript:ZweiFrames(‚aa.htm‘,‚oben‘,‚ba.htm‘,‚unten‘))
[Linktext2](javascript:ZweiFrames(‚ab.htm‘,‚oben‘,‚bb.htm‘,‚unten‘))
[Linktext3](javascript:ZweiFrames(‚ac.htm‘,‚oben‘,‚bc.htm‘,‚unten‘))

Der Link „Zurück“ für dieses Script sähe dann so aus:

[Zurück](javascript:ZweiFramesBack(‚oben‘,‚unten‘))
In diesen Links gibst du dort wo „oben“ und „unten“ steht, die realen Namen deiner Zielframes an und natürlich ersetzt du die Dateinamen durch die Wirklichen.

Diese Scripts sollten eigentlich beide funktionieren. Das erste Script hatte ich schon einmal in Anwendung und es funzt, wenn ich jetzt keinen Fehler gemacht habe, mit NN und IE. Das zweite Script arbeitet laut SelfHTML ebenfalls mit NN und IE.

Gruß
Huttatta

Tausend Dank,

das war genau das was ich gesucht habe.
Wunderbar!
Ich habe mich jetzt für die zweite Lösung entschieden.

Schöne Grüsse noch,

Christof

Jetzt will ich ganz auf das Javascript verzichten und statt

dessen mit einem Klick 2 Frames (links den Menü-Frame und den
Hauptframe) mit Inhalt laden.

Wie mach ich das ohne Javascript, so dass es mit jedem Browser
tut?

Hallo,
ganz ohne Javascript: du öffnest bei Klick eine neue Datei im Parent-Fenster, die wieder das Frameset Menü-Hauptframe enthält. Voila!

Beatrix
http://www.belzig-online.de