Birgit: Ändern von mehreren Frames funktioniert im NS4.5 nicht

Hilfe!!

Das Ändern mehrerer(insgesamt 4) Frames in einem komplexen Frameset funktioniert im Netscape 4.5 nicht!!
Habe folgendes Frameset aufgebaut:

<frameset cols ="1*,702,1*" frameborder=NO border=0 framespacing=0>
  <frame src="blue.htm" name="blueleft" scrolling=no noresize frameborder="NO">
  <frameset rows ="1*,120,40,350,62,1*">
    <frame src="blue.htm" name="bluetop" scrolling=no noresize>
    <frameset cols ="585,1*">
      <frameset rows ="43,40">
        <frame src="navi.htm" name"navi" scrolling=no noresize>
        <frame src="index_phil.htm" name="topicind" scrolling=no noresize>
</frameset>
      <frame src="spaceinf_phil.htm" name="info" scrolling=no noresize>
</frameset>
    <frame src="head_phil.htm" name="topicheader" scrolling=no noresize>
    <frameset cols ="585,1*">
      <frame src="main_phil.htm" name="haupt" scrolling=no noresize>
      <frame src="spacepict_phil.htm" name="pict" scrolling=no noresize>
</frameset>
    <frame src="bot.htm" name="unten" scrolling=no noresize>
<frame src="blue.htm" name="bluebottom" scrolling=no noresize>
</frameset>
  <frame src="blue.htm" name="blueright" scrolling=no noresize frameborder="NO">
</frameset>

Mit der Methode aus SELF-HTML funktioniert die Sache im IE5,4.5 und NS6 einwandfrei, nur der NS4.5 streikt. Das Beispiel mit den beiden Frames funktioniert jedoch auch im NS4.5 normal. Liegt es vielleicht an meinem Frameset? Wer kann helfen? Damit es im NS4.5 auch funktioniert, wüßte ich mir ansonsten nur noch mit einer onLoad-Methode zu helfen, die aus den verschiedenen Fenstern (ausgehend vom Hauptfenster) heraus die folgenden auch mit neuem Inhalt lädt. Leider kann ich noch keine URL angeben, da die Seiten noch nicht auf dem Server liegen.

Hoffentlich weiß einer Rat! Danke.

Grüße, Birgit

  1. Hi Birgit,

    kannst Du die 5 Dateien bitte mal ins Netz stellen?

    Wo ist den der JavaScript Code in Deinem Bsp.?

    MfG
    Jens

    1. Hi Birgit,

      kannst Du die 5 Dateien bitte mal ins Netz stellen?

      Wo ist den der JavaScript Code in Deinem Bsp.?

      MfG
      Jens

      Hallo Jens,

      werde morgen mal nen Dummy basteln u. es hochladen, da ich nicht komplett alle Bilder auf den Server knallen will. Den Script-code habe ich bei dem Beispiel nicht beigefügt, da ich dachte daß er o.k. wäre und es wohl am FS liegt. Aber das siehst Du ja dann.

      Gruß, Birgit

      1. Hallo Jens,

        Eine stark vereinfachte Test-Site ist jetzt unter angegebener Adresse zu finden. Wie Du siehst habe ich das Self-Script verwendet u. im IE funktioniert es einfach super. Ein Test mit einem Dreamweaver-Script brachte das gleiche Ergebnis. Aber bestimmt findest Du den Fehler, der dem NS 4.5 zu schaffen macht.

        Vielen Dank schon mal im voraus, daß Du Dich der Sache annimmst.

        Gruß, Birgit

        1. Vielleicht löst sich das Problem wenn Du mal schaust, wie wir 2 Frames mit 1 Klick verändern? Das JavaScript ist beliebig erweiterbar.

          Iches ist nicht mit S. Münz identisch,
          http://selfhtml.teamone.de/javascript/beispiele/zweiframes.htm
          aber beides geht!

          MfG
          Jens

          Managementtage 2001 in Flensburg - http://www.managementtage.de

          1. Hi,

            hab mal in den Code auf Deiner Seite geguckt. Ich werds mir mal zu Gemüte führen und ausprobieren. Sage (spätestens morgen) dann bescheid, obs geklappt hat.

            In meinem existierenden Code (a la S.Münz) hast Du wohl schon geschaut und keine Lösung gefunden?

            Bis denne, Birgit

            1. In meinem existierenden Code (a la S.Münz) hast Du wohl schon geschaut und keine Lösung gefunden?

              Ich in Deiner Seite steht doch was ganz anderes drin, als bei Stefan. Gib doch bitte den Link, welches Beispiel von Stefan Du meinst.
              Ich habe JavaScript noch nicht verstanden, will ich auch gar nicht mehr.

              Vielleicht findest Du hier die Antwort:
              http://developer.netscape.com/tech/javascript/javascript.html

              Rückmeldung von Britta fände ich gut, Yeah

              CU  Jens

              1. In meinem existierenden Code (a la S.Münz) hast Du wohl schon geschaut und keine Lösung gefunden?

                Ich in Deiner Seite steht doch was ganz anderes drin, als bei Stefan. Gib doch bitte den Link, welches Beispiel von Stefan Du meinst.
                Ich habe JavaScript noch nicht verstanden, will ich auch gar nicht mehr.

                Vielleicht findest Du hier die Antwort:
                http://developer.netscape.com/tech/javascript/javascript.html

                Rückmeldung von Britta fände ich gut, Yeah

                CU  Jens

                Hallo Jens,

                also für mich basieren, falls ich des Lesens noch mächtig bin, der folgende Quellcode (meiner):

                <script language="JavaScript" type="text/javascript">
                <!--
                function frameswitch(URI1,F1,URI2,F2,URI3,F3,URI4,F4,URI5,F5) {
                       F1=eval("parent."+F1);
                       F2=eval("parent."+F2);
                       F3=eval("parent."+F3);
                       F4=eval("parent."+F4);
                       F5=eval("parent."+F5);

                F1.location.href = URI1;
                        F2.location.href = URI2;
                        F3.location.href = URI3;
                        F4.location.href = URI4;
                        F5.location.href = URI5;

                }
                     //-->
                </script>

                <a href="javascript:frameswitch('main.htm','haupt','head.htm','topicheader','index.htm','topicind','info.htm','info','pict.htm','pict')">Rubrik
                        A</a>

                und dieser hier (zu finden unten folgender URL in Self-HTML)
                http://selfhtml.teamone.de/javascript/beispiele/zweiframes.htm

                <script type="text/javascript">
                <!--
                function ZweiFrames(URI1,F1,URI2,F2) {
                  Frame1=eval("parent."+F1);
                  Frame2=eval("parent."+F2);
                  Frame1.location.href = URI1;
                  Frame2.location.href = URI2;

                //-->
                </script>

                <a href="javascript:ZweiFrames('zweiframes_so.htm','oben','zweiframes_su.htm','unten')">
                <b>Susan Sarandon</b>

                auf dem gleichen Schema. Nur dass es bei mir eben mehr als zwei Frames sind und das Skript nen andren Namen hat. Ich weiß nicht unter welcher URL Du nachgeguckt hast. Ich hab die richtige URl in einem der letzten Threads angegeben (der test-ordner befindet sich nun mal auf dem Server einer anderen Site, aber das tut ja nichts zur Sache).

                Mal davon abgesehen dachte ich, Du würdest antworten, weil Du Dich mit JS auskennst oder gerne helfen würdest, aber wenn Dich das sowieso nicht interessiert (zitiere: "Ich habe JavaScript noch nicht verstanden, will ich auch gar nicht mehr.), dann frage ich mich was der Grund Deiner Antwort ist. Weil ich JS eben auch noch lange nicht verstanden habe, poste ich ja hier meine Fragen, aber so schnell werde ich da eben nicht aufgeben.

                Danke zwar für den Link, werd ich mal reinschauen, aber nach Lösungen irgendwo im Netz suchen (so wie ich das bisher getan habe) kann ich dann auch selbst, da brauche ich dann nicht in ein Forum zu posten.

                Außerdem hab ich keine Ahnung wer Britta ist.

                Birgit

                1. Hallo @ alle anderen!

                  Kann denn bitte sonst noch jemand helfen, von denen die JS verstanden haben? Davon gibt es hier doch genug, oder täusche ich mich da.

                  Danke u. Cio, Birgit

                  1. Hi Jens u. alle,

                    aaaaaalllssooooooo, hab Dein Script mal ausprobiert

                    <script language="JavaScript">
                    <!--
                    function frameswitch(topicind,info, topicheader,haupt,pict) { top.topicind.location.href=topicind;
                      top.info.location.href=info;top.topicheader.location.href=topicheader;
                      top.haupt.location.href=haupt;top.pict.location.href=pict;
                    }
                    //-->
                    </script>

                    <a href="javascript:frameswitch('index.htm','info.htm','head.htm','main.htm','pict.htm')">Rubrik
                            A</a>
                    <a href="javascript:frameswitch('index1.htm','info1.htm','head1.htm','main1.htm','pict1.htm')">Rubrik
                            B</a>

                    es ist eigentlich super, da es noch kürzer ist und es funktioniert auch einwandfrei. Aber leider IMMERNOCH nur in allen anderen Browsern aus NS 4.5 (das verflixte blöde Teil!!). In der Java-Console sagt mir NS, dass "frameswitch" nicht definiert sei (?!)

                    Was soll ich nur tun? Bin leicht verzweifelt...

                    Auf Antworten hoffend, Birgit

                    1. Hallo Birgit!

                      Was soll ich nur tun? Bin leicht verzweifelt...

                      Keine Panik!

                      <div id="navitab" style="position:absolute; ....>
                                                        ^^^^^^^^
                      daraus macht NN 4 einen Layer und der wird als extra 'document' im document betrachtet.
                      Evtl. mal den <script> Bereich innerhalb des <div>s schieben? Dann findet zumindest Mozilla schon mal frameswitch(), ansonsten ungetestet.

                      Gruss,
                       Carsten

                      1. Hallo Carsten,

                        vielen Dank für den Lösungsvorschlag. War einen Versuch wert und erschien auch plausibel, da NS ja öfter mal Schwierigkeiten mit divs hat; nur leider hat es nicht funktioniert.... heul!! Ich habe es sogar mal ganz ohne div-Ebene versucht, aber das hat auch nicht geholfen.

                        Vielleicht gehts nur nicht im NS4.5 für den Mac? Möglich wärs ja.

                        Danke u. tschüß, Birgit

                        1. Hallo Birgit,

                          *Argl* das hätte ich gleich sehen müssen. Die Links müssen wie folgt lauten:

                          <a href="#" onClick="frameswitch('main.html','haupt','head.html','topicheader','index.html','topicind','info.html','info','pict.html','pict'); return false;">Rubrik A</a>

                          <a href="#" onlClick="frameswitch('main1.html','haupt','head1.html','topicheader','index1.html','topicind','info1.html','info','pict1.html','pict'); return false;">Rubrik B</a>

                          Das ist ein bewährtes Standard-Konstrukt und a href="javascript: .... ist immer schlecht... jetzt weisst du auch warum.

                          Gruss,
                           Carsten

                          1. Hallo Birgit,

                            *Argl* das hätte ich gleich sehen müssen. Die Links müssen wie folgt lauten:

                            <a href="#" onClick="frameswitch('main.html','haupt','head.html','topicheader','index.html','topicind','info.html','info','pict.html','pict'); return false;">Rubrik A</a>

                            <a href="#" onlClick="frameswitch('main1.html','haupt','head1.html','topicheader','index1.html','topicind','info1.html','info','pict1.html','pict'); return false;">Rubrik B</a>

                            Das ist ein bewährtes Standard-Konstrukt und a href="javascript: .... ist immer schlecht... jetzt weisst du auch warum.

                            Gruss,
                            Carsten

                            Hi Carsten!

                            Also ich bin ja hin und weg, es funktioniert tatsächlich!!! *Freu* Und ich habe mich schon immer gewundert, was der Unterschied zwischen dem Aufruf einer Funktion über "javascript:" und den Aufrug über einen Event-Handler ist. Jetzt weiss ichs wirklich. Ich frage mich nur, warum diese Lösung dann auch im Self-HTML so drin steht.

                            Also super vielen Dank für diese Lösung. Jetzt kann ich meine Seiten doch noch so hinkriegen wie geplant und muß nicht mit onLoad-Lösungen herumhantieren o.ä.

                            Kommt es eigentlich bei dieser Funktion auf die Reihenfolge an, in der man die Frames u. gewünschten zu ladenden Dateien angibt? Bei komplexen Framesets ist das ja so eine Sache... (wo fang ich an zu zählen). Aber in diesem Fall ist es eigentlich egal, ich habe nämlich die alte Reihenfolge zunächst beibehalten und es funktioniert trotzdem.

                            Nochmal ganz großen Dank und liebe Grüße,

                            Birgit

                            1. Halt, halt!! Kleiner Nachtrag. Ich habe etwas festgestellt; Carstens Lösungsvorschlag funktioniert, jedoch nicht mit dem ursprünglichen Script lt. Self-HTML:

                              <script language="JavaScript">
                              <!--
                              function frameswitch(topicind,info, topicheader,haupt,pict) { top.topicind.location.href=topicind;
                                top.info.location.href=info;top.topicheader.location.href=topicheader;
                                top.haupt.location.href=haupt;top.pict.location.href=pict;
                              }
                              //-->
                              </script>

                              plus

                              <a href="#" onClick="frameswitch('index.htm','info.htm','head.htm','main.htm','pict.htm'); return false;">Rubrik
                                      A</a>

                              <a href="#" onClick="frameswitch('index1.htm','info1.htm','head1.htm','main1.htm','pict1.htm'); return false;">Rubrik
                                      B</a>

                              Hier spielen dann auf einmal alle Browser verrückt.

                              sondern mit dem JS-Script von Jens:

                              <script language="JavaScript">
                              <!--
                              function frameswitch(topicind,info, topicheader,haupt,pict) { top.topicind.location.href=topicind;
                                top.info.location.href=info;top.topicheader.location.href=topicheader;
                                top.haupt.location.href=haupt;top.pict.location.href=pict;
                              }
                              //-->
                              </script>

                              plus

                              <a href="#" onClick="frameswitch('index.htm','info.htm','head.htm','main.htm','pict.htm'); return false;">Rubrik
                                      A</a>
                                  <a href="#" onClick="frameswitch('index1.htm','info1.htm','head1.htm','main1.htm','pict1.htm'); return false;">Rubrik
                                      B</a>

                              Hier spielt sogar Opera mit!! Insofern vielen Dank an Euch beide. Die Mischung machts eben.

                              Gruz, Birgit