Markus Thomas: frameset nachladen

Hallo!

Ich habe zum leidigen Thema Frameset nachladen ein Problem, mit dem ich einfach nicht weiterkomme.
Ich habe ein Frameset erstellt, das so aussieht:

<frameset cols="173,*" border=0 frameborder=0 framespacing=0>
  <frame src="datei1.htm" noresize>                                                        // Frame 0
  <frameset rows="55,*,8,47" border=0 frameborder=0 framespacing=0>
    <frame src="auswahl.htm" scrolling=no>                                                   // Frame 1
    <frameset cols="50,*,10,40" border=0 frameborder=0 framespacing=0>
      <frame src="blau.htm" scrolling=no>                                                 // Frame 2
      <frame src="datei3.htm" name="home">                                           // Frame 3
      <frameset rows="8,*" border=0 frameborder=0 framespacing=0>
        <frame src="blau.htm" scrolling=no>                                               // Frame 4
        <frame src="schwarz.htm" scrolling=no>                                         // Frame 5
      </frameset>
      <frame src="blau.htm" scrolling=no>                                                 //Frame 6
    </frameset>
    <frameset cols="63,*,40" border=0 frameborder=0 framespacing=0>
      <frame src="blau.htm" scrolling=no>                                                 // Frame 7
      <frame src="schwarz.htm" scrolling=no>                                           // Frame 8
      <frame src="blau.htm" scrolling=no>                                                 // Frame 9
    </frameset>      
    <frame src="blau.htm" scrolling=no>                                                   // Frame 10
  </frameset>
</frameset>

Im Frame 1 kann man dann zwischen 3 Sprachen wählen, woraufhin dann 3 Frames verändert werden und
zwar Frame 0,3 und 10. In Frame 0 ist das Menu, Frame 3 ist die Hauptseite und Frame 3 enthält das
Aktualisierungsdatum. Alle anderen Frames bleiben immer unverändert.

Meine Frage ist nun:
Wie schaffe ich es, das wenn eine einzelne Seite aufgerufen wird, das Frameset geladen wird (was nicht
das Problem ist) und gleichzeitig die anderen beiden Frames, die veränderlich sind nachgeladen werden,
und zwar  in der richtigen Sprache? Auf diese wird nämlich im Frameset nicht verwiesen.

Dank im Vorraus
                                  Markus Thomas

  1. Hallo Markus!

    Dein Anliegen kann man z.B. mit Hilfe von Variablen realisieren. Du definierst im Frameset irgendeine Variable. Auf derjenigen Unterseite, von der die anderen drei Seiten abhaengen, weist Du dieser Variable mit "top.Variable" irgendwas zu. Und auf derjenigen Seite, auf die im Frameset verwiesen wird, fragst Du diese Variable ab und weist Deine Wunschseite zu.

    Beispiel fuers Frameset:

    <html>
    <head>
    <script language="JavaScript">
    <!--
    var irgendwas = 0;
    //-->
    </script>
    </head>
    <frameset cols="173,*" border=0 frameborder=0 framespacing=0>
      <frame src="datei1.htm" name="neu_1" noresize>   <!--Frame 0-->
      <frameset rows="55,*,8,47" border=0 frameborder=0 framespacing=0>
        <frame src="auswahl.htm" scrolling=no name="Auswahl">     <!--Frame 1-->
        <frameset cols="50,*,10,40" border=0 frameborder=0 framespacing=0>
          <frame src="blau.htm" scrolling=no>   <!--Frame 2-->
          <frame src="datei3.htm" name="home">  <!--Frame 3-->
          <frameset rows="8,*" border=0 frameborder=0 framespacing=0>
            <frame src="blau.htm" scrolling=no>    <!--Frame 4-->
            <frame src="schwarz.htm" scrolling=no> <!--Frame 5-->
          </frameset>
          <frame src="blau.htm" scrolling=no>      <!--Frame 6-->
        </frameset>
        <frameset cols="63,*,40" border=0 frameborder=0 framespacing=0>
          <frame src="blau.htm" scrolling=no>   <!-- Frame 7-->
          <frame src="schwarz.htm" scrolling=no>  <!--Frame 8 -->
          <frame src="blau.htm" scrolling=no>    <!-- Frame 9 -->
        </frameset>
        <frame src="blau.htm" name="neu_2" scrolling=no>    <!--Frame 10-->
      </frameset>
    </frameset>
    <body>

    </body>
    </html>

    Beispiel fuer Frame 1 "Auswahl.htm":

    <html>
    <head>
    <title></title>
    <script language="JavaScript">
    <!--
    top.irgendwas = 1;
    //-->
    </script>
    </head>
    <body text="#000000" onLoad="start()">
    <p>bla bla</p>
    </body>
    </html>

    Beispiel fuer die im Frameset definierte Frame 0 "datei1.htm":

    <html>
    <head>
    <title></title>
    <script language="JavaScript">
    <!--
    function check() {
    if(top.irgendwas == 1)
           document.location.href = "WasAnderes.htm"; /*WasAnderes.htm ist im Frameset nicht genannt und wird geladen*/
    }
    function start() {
             window.setTimeout("check()",1000)
    }
    //-->
    </script>
    </head>
    <body text="#000000" onLoad="start()">
    <p>bla bla</p>
    </body>
    </html>

    Normalerweise sollte es auch mit dem Aufruf onLoad="check()" funzen, aber weil die Dateien ja nicht gleichzeitig geladen werden und ich jetzt nicht weiss, welches Frame zuerst erscheint, ist ein kleines timeout sicherer.

    Viele Gruesse
    Hartmut

    1. Hallo Markus!

      Kleiner Patzer: In "Auswahl.htm" gehoert natuerlich das onload="start()" nicht hin.

      Und tschuess
      Hartmut