Frames mit JavaScript nachladen

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

Dieses Beispiel befindet sich nur noch der Vollständigkeit halber in diesem Tutorial.
der verbesserte Frameloader befindet sich in Anhang C unter "Frameset um Seite herum nachladen (einfache Version)".




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+ und MSIE6+ sauber arbeitet.
Dazu wird ein zusätzliches Fenster geöffnet, das alle Aktionen steuert und überwacht.
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-Management-Seite befindet sich in der Datei beispiele/loadframes.html.
Die frameseitige Komponente befindet sich in der Datei beispiele/loadframes.js.
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, das Frameset enthält beispiele/frames.html

Autor: Ulrich Kritzner