Tom Rusch: Wie kann man mit einem link die Inhalte zweier Frames gleichzeitig verändern?

Hallo, allerseits!

Ich habe auf meiner Seite drei Frames:
Links ein Inhaltsverzeichnis,
rechts oben eine Kapitelüberschrift und
rechts darunter den Inhalt des Kapitels.

Ich würde gerne beim Aufrufen eines links im Inhaltsverzeichnis den Inhalt des Frames "Kapitelüberschrift" und des Frames "Kapitelinhalt" gleichzeitg ändern.

Gibt es dafür eine einfache Lösung ohne javascript, die ich bis jetzt übersehen habe?

Gibt es eine Lösung mit javascript?

Wenn ich erst den frame mit der Überschrift neu lade, kann ich dann mit refresh=... im Kopf dieses Frames auch den anderen neu laden? Wie übermittle ich dabei dem Browser den neuen frame als target?

Im voraus schon mal besten Dank für die Hilfe, Thomas

P.S.: Ist bis jetzt noch nicht so realisiert auf meiner Homepage! Suchen auf der Seite lohnt dafür also nicht. Aber Besuch ist natürlich trotzdem willkommen.

  1. <script language="JavaScript">
    <!--  
    function zweiframes(URL1,F1,URL2,F2)
       {      
       parent.frames[F1].location.href=URL1;
       parent.frames[F2].location.href=URL2;
      
       }  
    //-->  
    </script>

    <a href="javascript:zweiframes('datei1.htm','framename1','datei2.htm','framename2')">link</a>

  2. Hi Tom!

    Gibt es dafür eine einfache Lösung ohne javascript, die ich bis jetzt übersehen habe?

    Du kannst IMHO nur eine komplette Seite neu laden, daß bedeutet, wenn du die beiden rechten Frames verändern willst, mußt du auch den linken Navigationsframe neu laden, was natürlich mehr Zeit braucht und deswegen nichts empfehlenswert ist.

    Gibt es eine Lösung mit javascript?

    Ja die gibt‚s auf jeden Fall!
    Schau mal unter <../../teda.htm>

    So, denke ich müßte es stimmen!

    Gruß Benjamin

    1. Hmm. Offensichtlich habe ich mich nicht tief genug in den Javascript-Abschnitt hineingelesen.

      Die Sehenden sind wieder klar im Vorteil!

      Ich danke Euch beiden! Tom

      1. Ich leg aber noch was nach:

        Wenn ich über den angegebenen Code nachdenke, fällt mir folgendes auf:
        Wenn der Zielrechner kein Java kann, ist die Seite tot. Alle links des Inhaltsverzeichnisses gehen nicht mehr.

        Wäre es da nicht sinnvoller, im Inhaltsverzeichnis normal den Überschriftenframe zu ändern und die Änderung des zweiten Frames "OnLoad" des ersten neuen Frames zu initiieren?

        Wenn dann die Überschrift einen Link zum Ändern des Frames darunter enthält, hat auch der Nicht-Java-Nutzer eine Chance.

        Oder habe ich wieder was übersehen?

        Dann verzeiht mir bitte, ich bin in Java nicht fit!

        Viele grüße, tom

        1. Moin Tom,

          Wenn der Zielrechner kein Java kann, ist die Seite tot. Alle links des Inhaltsverzeichnisses gehen nicht mehr.

          Das ganze hat mit Java nichts zu tun sondern mit JavaScript (und das hat nur einen ähnlichen Namen).

          Du hast aber in so weit recht: wenn der Besucher der Seite JavaScript deaktiviert hat, funktioniert kein Link aus dem Inhaltsverz. mehr.

          Wäre es da nicht sinnvoller, im Inhaltsverzeichnis normal den Überschriftenframe zu ändern und die Änderung des zweiten Frames "OnLoad" des ersten neuen Frames zu initiieren?

          Mit "OnLoad" würdest du wiederum JavaScript benutzen, also: s.o.

          Wenn dann die Überschrift einen Link zum Ändern des Frames darunter enthält, hat auch der Nicht-Java-Nutzer eine Chance.

          Das würde natürlich gehen aber doch wohl ziemlich unschön aussehen; für diejenigen, die JavaScript aktiviert haben - und das dürfte die Mehrheit sein - stellt sich die Frage "Was soll der Quatsch? Es steht doch schon alles da, was ich über diesen Link erreichen kann!" und für die anderen die Frage "Was soll der Quatsch? Wenn ich im Inhaltsverzeichnis etwas anklicke, erwarte ich, daß sich nicht nur die Überschrift ändert, denn die konnte ich ja auch schon im Inh.verz. sehen!"

          Oder habe ich wieder was übersehen?

          Ja, die Möglichkeit, mit <NOSCRIPT> einen Bereich zu schaffen, der eben nur angezeigt wird, wenn JavaScript deaktiviert ist (<../../tclb.htm#a2>). Darüber kannst du ein Inhaltsverzeichnis schreiben, daß z.B. rechts nur ein Frame ändert (auf den Überschrift-Frame müsstest du dann verzichten).

          Dann verzeiht mir bitte, ich bin in Java nicht fit!

          Dir sei verziehen, aber eins solltest du für den Anfang lernen: den Unterschied zwischen Java und JavaScript ;-)

          Gruß
          Dirk

          1. Dir sei verziehen, aber eins solltest du für den Anfang lernen: den Unterschied zwischen Java und JavaScript ;-)

            Gruß
            Dirk

            Hallo, Dirk!

            Asche über mein Haupt!
            Ich kenne ihn (zumindest im Groben). Ich hatte nur sehr unsauber formuliert. Liegt daran, daß ich gerade meine erste Zeile in javascript(!!) geschrieben habe und nicht jeden Tag damit umgehe. Sehe aber ein, daß das einem Insider die Nackenhaare aufstellt.  :-)

            Habe übrigens das von mir vorgeschlagene Konstrukt mal verwirklicht.
            Den link im Überschriftsframe brauchte ich eh, da der frame darunter wahlweise auch eine grafik darstellen kann, und ich wollte außer dem zurück-knopf des Browsers auch in der Seite einen Knopf für den Weg zurück haben.
            Richtig ist allerdings, daß ich den <noscript>-Bereich bis jetzt ignoriert habe...

            Danke für die Hilfe, tom