Sabine: ältere Browser weiterleiten gleich nach dem Befehl???

Hallo und schönen guten Morgen!

Ich habe eine Seite mit Frameset und JS. Ich habe einen ausführlichen Noframes-Bereich - genauer gesagt eine 2. Version meiner HoPa ohne Frames und ohne JS gemacht.
Das Umleiten von Browsern, die kein JS verstehen und von älteren funktioniert wunderbar. Mein Problem ist aber, dass ich eine Domainweiterleitung habe und gerne möchte, dass die "richtige" Adresse, also meine Domain in der Adresszeile aufscheint. Dies funktioniert aber momentan nicht, weil ältere Browser mit Fehlermeldungen reagieren, wenn ich die Umleitung direkt in der Seite mit dem Frameset mache (da sie die Befehle logischerweise nicht verstehen). Nun habe ich vor dem Frameset eine index.htm vorgeschalten und leite hier um, so dass überhaupt nur die entsprechenden Browser zur Seite mit Frameset kommen. Dadurch zeigt es mir aber natürlich den URL des Topframes in der Adresszeile.
Meine Frage nun - weiß jemand, wie ich die Umleitung im Frameset einbinden kann, in der Form, dass ältere Browser nur bis zur Umleitung "lesen" und sofort zur angegebenen Seite weitergehen ohne den restlichen Teil der Seite (der ja zu Fehlermeldungen führt) abzuarbeiten.

Entschuldigung die lange Erklärung, ich wusste nicht, wie ich es kürzer machen kann.

Ich bin für jeden Tipp dankbar!!

lg
Sabine

  1. Ich glaube, ich kann Dir nicht helfen, aber mich würde interessieren, wie Du die älteren Browser weiterleitest...

    thx
      Graphity

    1. Ich glaube, ich kann Dir nicht helfen, aber mich würde interessieren, wie Du die älteren Browser weiterleitest...

      <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
      if (((navigator.appVersion.substring(0,1)) <=3))
      window.location.href="dateiy.htm";
      else
      window.location.href="dateix.htm";</script>

      Ich habe es mit einigen Browser 2.x getestet, klappt wunderbar.
      Ich habe mir überlegt, dass es vielleicht klappen könnte, wenn ich die JS, die die älteren nicht verstehen und daher "protestieren", in einer höheren Version angebe. Dann dürften die älteren diesen Code ja nicht lesen, oder??

      lg
      Sabine

      1. Ich habe nicht ganz verstanden, was Du damit meinst:

        "Ich habe mir überlegt, dass es vielleicht klappen könnte, wenn ich die JS, die die älteren nicht verstehen und daher "protestieren", in einer höheren Version angebe."

        Ich verstehe aber auch nicht wirklich, wieso es mit den 2er Versionen klappt, ich habe nicht gewusst, das die schon JavaScript können, ich dachte JS kam erst ab 3 oder 4... egal...

        Ich kann irgendwie gerade nicht denken.. entschuldige

        1. Ich habe nicht ganz verstanden, was Du damit meinst:

          "Ich habe mir überlegt, dass es vielleicht klappen könnte, wenn ich die JS, die die älteren nicht verstehen und daher "protestieren", in einer höheren Version angebe."

          Na ja, ich verweise in meinem Frameset auf verschiedene Inhaltsseiten die in den einzelnen Frames angezeigt werden und in diesen verwende ich JS z.B. um das gleichzeitige Ändern mehrerer Frames auf einmal zu ermöglichen oder auch ein JS zum Bildwechsel bei Mouseover.
          Diese Skripts habe ich eingeleitet mit <script language="JavaScript"> ...
          Nun habe ich mir gedacht, wenn ich angebe z.B. JavaScript 1.1 (oder höher) versteht ein Browser der z.B. 2. Generation diese Sprache nicht und arbeitet (hoffentlich) dann das Skript auch nicht ab. Irgendwie befürchte ich aber, dass es trotzdem nicht funktioniert, da ich ja im Text dann wieder darauf verweise. z.B. bei Links <a href="javascript:....

          Ich verstehe aber auch nicht wirklich, wieso es mit den 2er Versionen klappt, ich habe nicht gewusst, das die schon JavaScript können, ich dachte JS kam erst ab 3 oder 4... egal...

          Ich dachte auch, dass es eigentlich erst ab 3 JS gab. Möglich wäre da natürlich, dass ich die älteren durch meine eingebaute <noscript>-Umleitung umgeleitet habe. Dann verstehe ich aber noch weniger, warum die Browser versuchen meine anderen JS (die ich oben angesprochen habe) lesen.

          Ich kann irgendwie gerade nicht denken..

          entschuldige
          Da gehts dir ja gut - mich verfolgt das Gefühl nicht denken zu können schon seit Tagen und nicht nur im Moment :)

          Würd mich freuen, wenn du vielleicht doch noch einen Tipp für mich hättest...

        2. Hallo,

          "Ich habe mir überlegt, dass es vielleicht klappen könnte, wenn ich die JS, die die älteren nicht verstehen und daher "protestieren", in einer höheren Version angebe."

          du kannst im Prinzip mit Angabe der Scriptversion (<script language="JavaScript1.1">) ältere Browser, "1.0",
          ausschliessen, Browser ohne JavaScript sollten den auskommentierten Teil "<script><!-- ..." sowieso überspringen.

          Ich verstehe aber auch nicht wirklich, wieso es mit den 2er Versionen klappt, ich habe nicht gewusst, das die schon JavaScript können, ich dachte JS kam erst ab 3 oder 4... egal...

          Netscape 2 ist schon ne tolle Sache, er kann onmouseover, aber onmouseout kennt er wie auch einiges andere noch nicht, auch nicht substr() aber dafür substring() oder so (hab' jetzt nicht extra nachgeschaut),
          und beim Array muss man eine Hilfsfunktion schreiben dann kann er auch mit Arrays arbeiten.

          Ich kann irgendwie gerade nicht denken.. entschuldige

          würde ja nur langfristig zum Problem ;-)

          Grüsse

          Cyx23

          1. Hallo Cyx23

            "Ich habe mir überlegt, dass es vielleicht klappen könnte, wenn ich die JS, die die älteren nicht verstehen und daher "protestieren", in einer höheren Version angebe."

            du kannst im Prinzip mit Angabe der Scriptversion (<script language="JavaScript1.1">) ältere Browser, "1.0",
            ausschliessen, Browser ohne JavaScript sollten den auskommentierten Teil "<script><!-- ..." sowieso überspringen.

            Ja, genauso habe ich es mir gedacht, aber kommt dann nicht trotzdem eine Fehlermeldung wenn ich dann im Body auf die Funktion verweise (unter anderem habe ich nämlich auch onmouseout ...)??

            Grüsse

            Cyx23

            lg
            Sabine

            1. Hallo Sabine,

              "Ich habe mir überlegt, dass es vielleicht klappen könnte, wenn ich die JS, die die älteren nicht verstehen und daher "protestieren", in einer höheren Version angebe."

              du kannst im Prinzip mit Angabe der Scriptversion (<script language="JavaScript1.1">) ältere Browser, "1.0",
              ausschliessen, Browser ohne JavaScript sollten den auskommentierten Teil "<script><!-- ..." sowieso überspringen.

              Ja, genauso habe ich es mir gedacht, aber kommt dann nicht trotzdem eine Fehlermeldung wenn ich dann im Body auf die Funktion verweise (unter anderem habe ich nämlich auch onmouseout ...)??

              wenn der Browser gar kein JavaScript kann, dann kann er die Events wie onmouseout nur einfach übergehen.
              Falls er nur 1.0 kann, könntest Du vor der Defintion der 1.1er function eine in einen script für 1.0 schreiben (ggf. leere function).
              Oder die function nur für 1.1 definieren und z.B. im onmouseover eine Abfrage einbauen onmouseover="if(document.diefunktion())diefunktion()", so ähnlich müsste klappen.

              Grüsse

              Cyx23

              1. Hallo Cyx23!

                wenn der Browser gar kein JavaScript kann, dann kann er die Events wie onmouseout nur einfach übergehen.
                Falls er nur 1.0 kann, könntest Du vor der Defintion der 1.1er function eine in einen script für 1.0 schreiben (ggf. leere function).
                Oder die function nur für 1.1 definieren und z.B. im onmouseover eine Abfrage einbauen onmouseover="if(document.diefunktion())diefunktion()", so ähnlich müsste klappen.

                Super, das werde ich gleich versuchen. Danke!!

                lg
                Sabine

                Grüsse

                Cyx23

              2. Danke Cyx23!

                Es hat geklappt!! Herzlichen Dank für deine Hilfe.

                lg
                Sabine

  2. Hallo Sabine,

    Ich habe eine Seite mit Frameset und JS. Ich habe einen ausführlichen Noframes-Bereich - genauer gesagt eine 2. Version meiner HoPa ohne Frames und ohne JS gemacht.

    Dann sollten doch Links zu den entsprechenden Seiten (ggf. mit target="_top") in noframes- bzw. noscript-Bloecken voellig ausreichend sein.

    MfG, Thomas

    1. Hallo Thomas!

      Dann sollten doch Links zu den entsprechenden Seiten (ggf. mit target="_top") in noframes- bzw. noscript-Bloecken voellig ausreichend sein.

      Das klappt auch bei Weiterleitung von Browser bei denen JS deaktiviert ist (oder überhaupt nicht funktioniert) und Browsern,die Frames nicht unterstützen.
      Browser, die aber grundsätzlich JS verstehen, arbeiten meinen gesamten Code durch (auch den der Folgeseiten auf die ich im Frameset verweise) und reagieren darauf mit Fehlermeldungen.
      Hab ich einen Denkfehler??

      lg
      Sabine

      MfG, Thomas