Patrick: Drei Frames gleichzeitig ändern?

Hi.

Mit der in SELFHTML beschriebenen Methode klappt es prima 2 Frames zu ändern. Doch bei 3 Frames klappt es nicht.

Wie kann ich per Klick 3 Frames gleichzeitig ändern?

Danke im Vorraus für die Antwort.

CU
Patrick

  1. hi!

    Mit der in SELFHTML beschriebenen Methode klappt es prima 2 Frames
    zu ändern. Doch bei 3 Frames klappt es nicht.
    Wie kann ich per Klick 3 Frames gleichzeitig ändern?

    Schau mal hier nach:

    http://selfhtml.teamone.de/javascript/beispiele/zweiframes.htm
    http://forum.de.selfhtml.org/faq/#Q-32i
    http://forum.de.selfhtml.org/archiv/1998_4/t00709.htm
    http://forum.de.selfhtml.org/archiv/1998_4/t01551.htm
    http://forum.de.selfhtml.org/archiv/1999_1/t02461.htm
    http://forum.de.selfhtml.org/archiv/1999_2/t04446.htm
    http://forum.de.selfhtml.org/archiv/1999_3/t06359.htm
    http://forum.de.selfhtml.org/archiv/1999_3/t06422.htm
    http://forum.de.selfhtml.org/archiv/1999_4/t07634.htm
    http://forum.de.selfhtml.org/archiv/2000_2/t12905.htm
    http://forum.de.selfhtml.org/archiv/2000_2/t14776.htm
    http://forum.de.selfhtml.org/archiv/2000_2/t14959.htm
    http://forum.de.selfhtml.org/archiv/2000_2/t15091.htm
    http://forum.de.selfhtml.org/archiv/2000_2/t15376.htm
    http://forum.de.selfhtml.org/archiv/2000_2/t15470.htm
    http://forum.de.selfhtml.org/archiv/2000_3/t17298.htm
    http://forum.de.selfhtml.org/archiv/2000_3/t18289.htm
    http://forum.de.selfhtml.org/archiv/2000_3/t19494.htm
    http://forum.de.selfhtml.org/archiv/2000_3/t19582.htm
    http://forum.de.selfhtml.org/archiv/2000_3/t19600.htm
    http://forum.de.selfhtml.org/archiv/2000_3/t20593.htm
    http://forum.de.selfhtml.org/archiv/2000_3/t20946.htm
    http://forum.de.selfhtml.org/archiv/2000_4/t23350.htm
    http://forum.de.selfhtml.org/archiv/2001/5/23812/
    http://forum.de.selfhtml.org/archiv/2001/5/23625/
    http://forum.de.selfhtml.org/archiv/2001/5/23603/
    http://forum.de.selfhtml.org/archiv/2001/5/24343/
    http://forum.de.selfhtml.org/archiv/2001/6/24798/
    http://forum.de.selfhtml.org/archiv/2001/6/26043/
    http://forum.de.selfhtml.org/archiv/2001/6/25554/
    http://forum.de.selfhtml.org/archiv/2001/6/25893/
    http://forum.de.selfhtml.org/archiv/2001/6/26043/
    http://forum.de.selfhtml.org/archiv/2001/6/26113/
    http://forum.de.selfhtml.org/archiv/2001/7/26535/
    http://forum.de.selfhtml.org/archiv/2001/7/26915/
    http://forum.de.selfhtml.org/archiv/2001/7/27615/
    http://forum.de.selfhtml.org/archiv/2001/8/28141/
    http://forum.de.selfhtml.org/archiv/2001/8/28297/
    http://forum.de.selfhtml.org/archiv/2001/8/28409/
    http://forum.de.selfhtml.org/archiv/2001/8/28440/
    http://forum.de.selfhtml.org/archiv/2001/8/28581/
    http://forum.de.selfhtml.org/archiv/2001/8/28705/
    http://forum.de.selfhtml.org/archiv/2001/8/29053/
    http://forum.de.selfhtml.org/archiv/2001/11/105/
    http://forum.de.selfhtml.org/archiv/2001/11/236/
    http://forum.de.selfhtml.org/archiv/2001/11/758/
    http://forum.de.selfhtml.org/archiv/2002/1/2221/
    http://forum.de.selfhtml.org/archiv/2002/1/2384/
    http://forum.de.selfhtml.org/archiv/2002/1/2512/
    http://forum.de.selfhtml.org/archiv/2002/1/3387/

    bye, Frank!

    1. Hi Frank,

      hi!

      Schau mal hier nach:

      http://selfhtml.teamone.de/javascript/beispiele/zweiframes.htm

      [ganz viel schnipp ...]

      Hast Du das jetzt alles erst zusammengestellt oder existiert bereits ein template für diese Frage (oder gar eine template-ammlung)

      Viele Grüße,
      Martin

      1. Hi.

        So, jetzt klappt es das zwei sich ändern. Aber der dritte bleibt gleich.
        Was ist zu tun?

        CU
        Patrick

        P.S: Schon mal Danke für die Hilfe

        1. Moin!

          So, jetzt klappt es das zwei sich ändern. Aber der dritte bleibt gleich.
          Was ist zu tun?

          Was hast du denn jetzt an der Lösung von Stefan Münz nicht verstanden?

          - Sven Rautenberg

          1. Nacht!

            Was hast du denn jetzt an der Lösung von Stefan Münz nicht verstanden?

            Und warum hat Patrick auf mich "replied", und nicht auf Stefan?

            Viele Grüße,
            Martin

  2. Hi.

    Mit der in SELFHTML beschriebenen Methode klappt es prima 2 Frames zu ändern. Doch bei 3 Frames klappt es nicht.

    Wie kann ich per Klick 3 Frames gleichzeitig ändern?

    Danke im Vorraus für die Antwort.

    CU
    Patrick

    Hi Jungs und Mädels,
    das ist der Anfang einer wunderbaren neuen Ära !

    Hallo Patrick !
    Doch es geht. Schau Dir noch mal die Zwei-Frames-Lösung ganz genau an. Und Du wirst es nicht glauben: Es geht sogar mit vier Frames.
    Fall der Fehler nicht zu finden ist, wäre etwas HTML- und JavaScript-Code nicht schlecht.

    Gruß
    Hans-Peter

    P.S. Und wenn jetzt noch ein paar wunderliche Antworten kommen:  Nimms gelassen.

  3. Hallo Patrick

    Mit der in SELFHTML beschriebenen Methode klappt es prima 2 Frames zu ändern. Doch bei 3 Frames klappt es nicht.

    Na, du traust dich ja Fragen zu stellen hier *g*. Bevor das nun wieder ausartet hier, so viel:

    <script type="text/javascript">
    <!--
    function DreiFrames(URI1,F1,URI2,F2,URI3,F3) {
      Frame1=eval("parent."+F1);
      Frame2=eval("parent."+F2);
      Frame3=eval("parent."+F3);
      Frame1.location.href = URI1;
      Frame2.location.href = URI2;
      Frame3.location.href = URI3;
    }
    function DreiFramesBack(F1,F2,F3) {
      Frame1=eval("parent."+F1);
      Frame2=eval("parent."+F2);
      Frame3=eval("parent."+F3);
      Frame2.history.back();
      if (!window.opera) window.setTimeout("Frame2.history.back()",10);
      if (!window.opera) window.setTimeout("Frame3.history.back()",10);
    }
    function DreiFramesForward(F1,F2,F3) {
      Frame1=eval("parent."+F1);
      Frame2=eval("parent."+F2);
      Frame3=eval("parent."+F3);
      Frame1.history.forward();
      if (!window.opera) window.setTimeout("Frame2.history.forward()",10);
      if (!window.opera) window.setTimeout("Frame3.history.forward()",10);
    }
    //-->

    Und beim Aufruf:

    <a href="javascript:DreiFrames('bla.htm','oben','blubb.htm','unten', 'blaeh','irgendwo')">Und? was das wirklich so schwer? Haettest du da nicht auch selber drauf kommen koennen mit ein bischen Nachdenken?</a>

    viele Gruesse
      Stefan Muenz

    1. hallo Stefan ;-)

      Na, du traust dich ja Fragen zu stellen hier *g*.

      Um etwas mehr Salz und Pfeffer in die Fragestellung zu streuen, folgende Erweiterung:
      In ein aus zwei Frames bestehendes Frameset wird ein Frame geladen, in dessen Quelldokument es wiederum einen iFrame gibt, der wegen "display:none" zwar per default nix anzeigt, in dem die Anzeige aber über eine Javascript-Funktion mit getElementById (iframe) und display:inline so geregelt wird, daß sich verschiedene HTML-Dokumente darin öffnen können. Ist das nun machbar, daß sich sowohl im iFrame wie auch in den beiden default-Frames gleichzeitg die Anzeigen ändern, und zwar mit Klicks aus allen drei Frames heraus ?

      Ich knabbere derzeit genau an diesem Problem herum ...

      Grüße aus dem nächtlich dunkeln Berlin

      Christoph S.

      1. Moin!

        Um etwas mehr Salz und Pfeffer in die Fragestellung zu streuen, folgende Erweiterung:

        Weil es schon so schön spät ist, ein Schnellschuß:

        In ein aus zwei Frames bestehendes Frameset wird ein Frame geladen, in dessen Quelldokument es wiederum einen iFrame gibt, der wegen "display:none" zwar per default nix anzeigt, in dem die Anzeige aber über eine Javascript-Funktion mit getElementById (iframe) und display:inline so geregelt wird, daß sich verschiedene HTML-Dokumente darin öffnen können. Ist das nun machbar, daß sich sowohl im iFrame wie auch in den beiden default-Frames gleichzeitg die Anzeigen ändern, und zwar mit Klicks aus allen drei Frames heraus ?

        top.framename1.location.href
        top.framename2.location.href
        top.framename2.iframename.location.href

        Sofern alles innerhalb der gleichen Domain bleibt, ist mit Sicherheitsproblemen nicht zu rechnen. :)

        Keine Ahnung, ob das Verstecken irgendwelche Auswirkungen hat. Das ist die Unwägbarkeit. :)

        Ich knabbere derzeit genau an diesem Problem herum ...

        Mahlzeit!

        Grüße aus dem nächtlich dunkeln Berlin

        In Hamburg is' auch dunkel jetzt. ;)

        - Sven Rautenberg

        1. tagchen Sven,

          Weil es schon so schön spät ist, ein Schnellschuß:

          aua. Hat zwar nicht getroffen, aber allein der Luftzug ... ;-)

          top.framename2.iframename.location.href

          da klemmts zum erstenmal.

          Keine Ahnung, ob das Verstecken irgendwelche Auswirkungen hat. Das ist die Unwägbarkeit. :)

          hat es. Wenn ich bis heute abend keine (befriedigende) Lösung gefunden haben sollte, stelle ich eine Testkonfiguration mal irgendwohin zum Nachschauen.

          Christoph S.

    2. Hi.

      Das ist mein Quelltext:

      <html>
      <head>
      <script type="text/javascript">
      <!--
      function DreiFrames(URI1,F1,URI2,F2,URI3,F3) {
        Frame1=eval("parent."+F1);
        Frame2=eval("parent."+F2);
        Frame3=eval("parent."+F3);
        Frame1.location.href = URI1;
        Frame2.location.href = URI2;
        Frame3.location.href = URI3;
      }
      function DreiFramesBack(F1,F2,F3) {
        Frame1=eval("parent."+F1);
        Frame2=eval("parent."+F2);
        Frame3=eval("parent."+F3);
        Frame2.history.back();
        if (!window.opera) window.setTimeout("Frame2.history.back()",10);
        if (!window.opera) window.setTimeout("Frame3.history.back()",10);
      }
      function DreiFramesForward(F1,F2,F3) {
        Frame1=eval("parent."+F1);
        Frame2=eval("parent."+F2);
        Frame3=eval("parent."+F3);
        Frame1.history.forward();
        if (!window.opera) window.setTimeout("Frame2.history.forward()",10);
        if (!window.opera) window.setTimeout("Frame3.history.forward()",10);
      }
      //-->
      </script>
      </head>
      <body>
      <body bgcolor="black">
      <div align="center">
      <a href="javascript:DreiFrames('alertup1.htm','alertup','alertdown1.htm','alertdown','status1.htm','status')" onFocus="if(document.all) this.blur()"><img src="greenalert.jpg" width="150"
      height="35" border="0"></a><p><img src="aufbauendufp.gif">
      </div>
      </body>
      </html>

      Damit ändern sich nur 2 Frames. Der dritte Frame "status" ändert sich nicht.

      Danke für die Hilfe.

      CU
      Patrick

      1. Hallo Patrick!

        Böse Falle:
        http://selfhtml.teamone.de/javascript/objekte/window.htm#status

        ...und ?
            ... ja 'parent' ist ein window-Objekt.

        ... immer noch nicht.. na denn: was baut das eval()
          http://selfhtml.teamone.de/javascript/objekte/unabhaengig.htm#eval
        zusammen?  (nachgucken: alert("parent."+F3); )

        Gruss,
         Carsten

        P.S.: Mit parent.frames[F3].location.href=URI3; wäre das nicht passiert.
        P.P.S.: eval() ist evil!

        1. Danke @ Carsten, aber es hat sich nix geändert.

          Der Frame status ändert sich immer noch nicht. :-(

          CU
          Patrick

  4. Hi!

    Es klappt!

    Andrea hat dann letzendlich den entscheidenden Tipp gegeben! Ich habe den Frame von status in alertstatus umgenannt und schon läuft alles wie geschmiert!

    Danke an Alle für die Hilfe!

    CU
    Patrick