Nico Barbat: Frame-Ansteuerung

Hallo!

Wie kann ich aus einer Seite heraus mit Javascript eine Grafik auf einer Seite in einem anderen Frame, der geoeffnet ist, ansprechen?

Nico

  1. Wie kann ich aus einer Seite heraus mit Javascript eine Grafik auf einer Seite in einem anderen Frame, der geoeffnet ist, ansprechen?

    mit parent.framename.document.images[nummer]

    gruß, tom

    1. Hallo!

      Wie kann ich aus einer Seite heraus mit Javascript eine Grafik auf einer Seite in einem anderen Frame, der geoeffnet ist, ansprechen?

      mit parent.framename.document.images[nummer]

      gruß, tom

      Das ist schon eine gute Idee, bloß geht das nur im selben Fenster: Wie mache ich das, um mit Java-Script in einem Frame des Namen "ABC" eines anderen Browser-Fensters "Fenster2" eine Datei Namens "beispiel.htm" anzeigen zu lassen? Über eine Hilfe würde ich mich freuen, vielleicht kann mir ja jemand auch per email die Antwort geben!?

      Viele Grüsse!

      Jean

      1. Hallo Jean!

        mit parent.framename.document.images[nummer]

        Das ist schon eine gute Idee, bloß geht das nur im selben Fenster: Wie mache ich das, um mit Java-Script in einem Frame des Namen "ABC" eines anderen Browser-Fensters "Fenster2" eine Datei Namens "beispiel.htm" anzeigen zu lassen?

        Du öffnest das 2 Frameset mit window.open und gibts dem einen Namen, meinetwegen Frameset2 (window.open('frameset2.htm, 'Frameset2', 'widht=...,height=...'). Das zweite Frameset hat ja den einen ABC genannten Frame. Dann müßte:

        Frameset2.ABC.location.href = 'beispiel.htm' gehen...

        (habe es aber nicht getestet)

        Bis danndann

        PAF (patrickausfrankfurt)

        1. Du öffnest das 2 Frameset mit window.open und gibts dem einen Namen, meinetwegen Frameset2 (window.open('frameset2.htm, 'Frameset2', 'widht=...,height=...'). Das zweite Frameset hat ja den einen ABC genannten Frame. Dann müßte:

          Frameset2.ABC.location.href = 'beispiel.htm' gehen...

          (habe es aber nicht getestet)

          Leider geht das nicht - ich hatte es bereits probiert! Weis vielleicht noch jemand eine Lösung?

          (Wer will, kann es sich ja 'mal anschauen: http://www.uhldingen-muehlhofen.de/neu/wirtschaft/daten/standort.htm)

          Gruss

          Jean

          1. Hallo Jean!

            Frameset2.ABC.location.href = 'beispiel.htm' gehen...

            (habe es aber nicht getestet)

            Leider geht das nicht - ich hatte es bereits probiert!

            Geht doch! Aber da muss man etwas austricksen... Es hat mich keine Ruhe gelassen, daher habe ich es eben getestet:

            <html>
            <head>
            <script language=javascript>
            <!--
            var F

            function frameset_open()
            { F=window.open('frameset2.html', 'Frameset2','width=600,height=600'); F.focus();  }

            function imframeset()
            { F.ABC.location.href = 'beispiel.html'; }

            //-->
            </script>
            </head>
            <body>
            <a href="#" onClick="frameset_open();">Erst Frameset öffnen lassen</a><br><br>
            <a href="#" onClick="imframeset();">Und jetzt die Seite im Frameset tauschen</a>
            </body>
            </html>

            Um bei Deinem Beispeil zu bleiben, bei dem der Anzeigeframe ABC benannt wurde.

            Sage Bescheid, ob es gefunzt hat (bei mir liefs)!

            Bis danndann

            PAF (patrickausfrankfurt)

            1. Re Hallo Jean!

              function imframeset()
              { F.ABC.location.href = 'beispiel.html'; }

              Wenn Du hier noch F.focus() hinzufügst, also so:

              function imframeset()
              { F.ABC.location.href = 'beispiel.html';F.focus(); }

              dann bleibt das zweite Frameset im Vordergrund.

              Bis danndann

              PAF (patrickausfrankfurt)

            2. Hallo!

              Geht doch! Aber da muss man etwas austricksen... Es hat mich keine Ruhe gelassen, daher habe ich es eben getestet:

              <html>
              <head>
              <script language=javascript>
              <!--
              var F

              function frameset_open()
              { F=window.open('frameset2.html', 'Frameset2','width=600,height=600'); F.focus();  }

              function imframeset()
              { F.ABC.location.href = 'beispiel.html'; }

              //-->
              </script>
              </head>
              <body>
              <a href="#" onClick="frameset_open();">Erst Frameset öffnen lassen</a>

              <a href="#" onClick="imframeset();">Und jetzt die Seite im Frameset tauschen</a>
              </body>
              </html>

              Der Trick für das Öffnen eines neuen Fensters funktioniert! Vielen Dank! Jetzt bastle ich nur noch an einer Sache: Kann ich beides hintereinander abfolgen lassen, ohne ein zweites Mal einen Link laufen lassen zu müssen? Es geht mir darum ein Frameset öffnen zu können, in dem der obere Bereich fix ist und der untere mit Übergabe einer Variablen (kein Problem) entsprechend gefüllt wird.

              Gruss!

              Jean

              1. Hallo Jean!

                Kann ich beides hintereinander abfolgen lassen, ohne ein zweites Mal einen Link laufen lassen zu müssen? Es geht mir darum ein Frameset öffnen zu können, in dem der obere Bereich fix ist und der untere mit Übergabe einer Variablen (kein Problem) entsprechend gefüllt wird.

                Dann mußt Du das zweite Frameset dynamisch generiereren, das heisst im Quelltext der frameset2.html, um bei unserem Beispiel zu bleiben, schreibst Du:

                <html>
                <head><title>...</title>
                </head>
                <script language="JavaScript">
                <!--

                self.document.writeln('<frameset cols="100%" rows="50,*" border="0">');
                self.document.writeln('<frame name="obenfix" src="oben.htm" scrolling="auto" border="0">');
                self.document.writeln('<frame name="ABC" src="' + Deine_zuvor_definierte_Variable + '" scrolling="no" border="0">');
                self.document.writeln('</frameset>');

                //-->
                </script>
                </html>

                Zum Beispiel, wenn es darum ginge, je nach Browser eine andere Datei anzuzeigen, kannst Du die Variable oberhalb des obigen Stücks Code so definieren:

                var Deine_zuvor_definierte_Variable  = (document.layers) ? ("netscape.html") : ("msie.html");

                Damit würden Netscape-User die nestcape.html und alle anderen die msie.html angezeigt bekommen.

                Bis danndann

                PAF (patrickausfrankfurt)