Frames mit JavaScript nachladen

als ultimative Antwort auf FAQ
(FAQ = frequently asked question = häufig (immer und immer wieder) gestellte Frage)



Anhand der Beispiele soll die Lösung folgenden Problems vorgestellt werden:

Problemstellung:

Wird per link ein Frame ohne das umgebende Frameset geladen (z.B. bei Verlinkung über Suchmaschine), soll zuerst das Frameset und dann eben jene Seite innerhalb dieses Framesets geladen werden.

Allgemeines zur Lösung:

Im Folgenden wird eine Lösung vorgestellt, die im Konqueror2+, Mozilla1+, Netscape4+, Netscape6+, Opera7+ und MSIE6+ sauber arbeitet.
Die history bleibt dank window.location.replace(...) in beide Richtungen (vorwärts und rückwärts) funktionstüchtig.




Beispiele:

Beispiel1 (beispiele/red.html)
(rotes Frame, das ein Frameset nachlädt)


Beispiel1 (beispiele/green.html)
(grünes Frame, das ein Frameset nachlädt)


Beispiel1 (beispiele/blue.html)
(blaues Frame, das ein Frameset nachlädt)





Konzept und Quelltextbesichtigung:

Die Frameloader-Funktionalität wird in der Datei beispiele/loadinframeset.js definiert.
Die JavaScript-Datei wird nur in die Frames eingebunden und dort verwendet, als Beispiel für solch einen Frame-Inhalt soll hier beispiele/red.html herhalten, an der Frameset-Datei müssen keine Anpassungen vorgenommen werden.

Autor: Ulrich Kritzner