zur Zeit versuche ich, per Javascript zu erzwingen, dass Unterseiten meiner Homepage (die mit Frames arbeitet) im Frameset geladen werden. Ich habe schon diverse im Netz gefundene Javascripts ausprobiert, aber irgendwie klappt das nicht so wie ich es gerne hätte.
Das hatte zur Folge, dass im Hauptframe jeder Seite immer das gesamte Frameset nachgeladen wurde.
Dann probierte ich es mit dem einfacheren
<!–
if (top.frames.length == 0) top.location.href = „…/index.htm“;
//–>
Was aber jetzt zur Folge hat, dass meine Navigation nicht mehr funktioniert. Wenn man auf einen Navigationslink klickt, öffnet sich ein neues Browserfenster mit dem kompletten Frameset der Startseite.
Wer kann mir ein „idiotensicheres“ Konzept sagen? Im Netz und z.B. bei selfHTML sind einige Scripte beschrieben, aber ich bin offenbar nicht bewandert genug, um sie in meine Seite einzubauen.
Zur Info:
Meine Startseite besteht aus dem Frameset
index.htm
welches die 3 Frames
banner.htm (banner)
nav_links.htm (inhalt)
start.htm (startseite, das Hauptfenster)
enthält.
In der allergrößten Not könnte ich ja auf jeder Seite unten einen Link „Frameset nachladen“ einbauen, aber ich hätte es gerne eleganter.
hast Du unbedingt den Ergeiz Deine HP mit Javascript zu erstellen oder kann dies auch nach einer Methode gehen die keine oder relativ wenige HTML - Kenntnisse voraussetzt ?
der zweite Ansatz ist schon richtig, wenn das Script jeweils in der HTML Datei steht, die Teil oder Unterseite Deines Frameset’s ist, welches ueber index.html definiert wird. Wenn nicht, dann ist etwas an Deine Navigation nicht ganz richtig bzgl. des target’s der Links.
In index.html, das das Frameset definiert, kann aber auch Teil wiederum eines uebergeordneten fremden Frameset’s sein. Somit sollte dort was aehnliches in abgewandelter Form stehen.
Ueber das onLoad-Event im body-Tag wuerde ich es nicht machen, denn in dem Fall wird die Seite erst falsch geladen und wenn sie dann fertig geladen ist, tritt das onLoad-Event in Kraft und führt das dahinter stehende Script aus, was die Seite nochmals laedt, mit Korrektur der Frameset-Struktur.
eventuell muß es bei Dir auch .href="…/index.html" heißen, wenn die einzelnen Dateien nicht im gleichen Verzeichnis sind, wie die Inhaltsseiten, sondern eines darunter…
hast Du unbedingt den Ergeiz Deine HP mit Javascript zu
erstellen
Stimmt, HTML ist nicht nur einfacher, es gibt auch einige Leute die gewisse Javascript-Funktionen deaktiviert haben, und die kommen dann unter Umständen nicht in den vollen Genuss Deiner Seite. Auch text-only Browser können mit JS meist nichts anfangen.