Markus Maute: spezielle Browserabfrage

Hallo,

ihr seit meine letzte Rettung (hoffentlich)!

Zu meinem Problem:

Ich habe eine Browserabfrage programmiert (siehe unten).
Sie soll nun um folgende Funktion erweitert werden.

Wenn jemand mit Netscape bis Version 6.x auf die Seite kommt
möchte ich ihn auf eine andere Seite leiten als Netscape 7.0 User.

Also kurz und primitiv:
if Netscape bis 6.x gehe zu 1.html
if Netscape 7.0 gehe zu 2.html
der Rest (IE, Mozilla und Opera) soll so bleiben.

Schon mal 1000 Dank für Eure Hilfe

Markus

hier das Script:
<!--
switch(navigator.appName)
{
case "Microsof Internet Explorer":
document.location.href="index.html";
break;
case "Netscape":
document.location.href="index_2.html";
break;
case "Opera":
document.location.href="index_2.html";
break;
default:
break;
-->

  1. Hallo Markus,

    Wenn jemand mit Netscape bis Version 6.x auf die Seite kommt
    möchte ich ihn auf eine andere Seite leiten als Netscape 7.0 User.

    die beiden Netscape Versionen kann man z.B. anhand des Objektes 'atob' unterscheiden.
    var NS=(window.atob) ? "NS7" : "NS6";

    Gruß Gunther

    1. Hallo Gunther,

      wie baue ich das
      ----------------------------------------
      (var NS=(window.atob) ? "NS7" : "NS6";
      ----------------------------------------
      in das Script ein?

      Bin wirklich für jede Hilfe dankbar!

      THX
      Markus

      Hier noch mal mein Script:

      switch(navigator.appName)
      {
      case "Microsof Internet Explorer":
      document.location.href="index.html";
      break;
      case "Netscape":
      document.location.href="index_2.html";
      break;
      case "Opera":
      document.location.href="index_2.html";
      break;
      default:
      break;
      -->

  2. Hi,

    switch(navigator.appName)
    {
    case "Microsof Internet Explorer":
    document.location.href="index.html";
    break;
    case "Netscape":
    document.location.href="index_2.html";
    break;
    case "Opera":
    document.location.href="index_2.html";
    break;
    default:
    break;

    eine kleine Anmerkung von mir:
    besser ist es, nicht nach navigator.appName zu unterscheiden, da sich heutzutage einige Browser auch als andere ausgeben können (Opera, Konqueror, ...)

    Besser ist es nach Objekten zu unterscheiden.
    window.atob ist da schon eine gute möglichkeit.

    anders ging es auch mit

    var browser = (window.GetAttention) ? "NS6" : "NS7";

    oder über das navigator objekt:
    da gibts glaub ich so was hier:
    navigator.productSub

    das liefert eine Zahl (nämlich das Datum der GeckoEngine) zurück. NS 7 hat demnach eine höhere Zahl als NS6-->

    if(navigator.productSub < ...)

    musst nur rausfinden, welche Zahl da bei NS 7.0 steht!

  3. Hi Markus,

    if Netscape bis 6.x gehe zu 1.html
    if Netscape 7.0 gehe zu 2.html
    der Rest (IE, Mozilla und Opera) soll so bleiben.

    dir ist bekannt, dass Netscape >4 in Wahrheit ein Mozilla ist? Was soll das eigentlich bringen, worin unterscheiden sich die Seiten, auf die umgeleitet werden soll?

    Grüße,
     Roland

    --
    Ich war für das Thema (BARRIEREFREIHEIT) im Forum. Es hat nicht sollen sein.
    ss:| zu:} ls:} fo:} de:> va:} ch:| sh:) n4:& rl:| br:< js:{ ie:{ fl:{ mo:|
    http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
    1. Hi,

      NS 6 ist schon was anderes als NS 7.
      NS 7 unterstützt zB andere JS-Objekte, die auch der NS4 versteht.

      zB: window.atob(), window.find(), ...

      NS 6 kennt zB winodw.GetAttention();

      Auch in der Darstellung gibts Unterschiede, wie ich selbst erfahren habe.

      Hab zB ein DHTML-Skript, das unter allen gängigen Browser (MSIE 4-6, Opera 5-7, NS 4 UND 7) läuft, aber eben NICHT unter NS 6.

      Schon komisch!!

      Mozilla 0.9 / NS 6 ist schon irgendwie scheiße!

      Christian

      1. Hi Christian,

        NS 6 ist schon was anderes als NS 7.

        Ich weiß, eine Steißgeburt ;-)

        NS 7 unterstützt zB andere JS-Objekte

        Das entzieht sich meiner Kenntnis.

        Auch in der Darstellung gibts Unterschiede, wie ich selbst erfahren habe.

        Kann ich bestätigen.

        Mozilla 0.9 / NS 6 ist schon irgendwie scheiße!

        Das unterschreibe ich glatt. Allerdings ist die Umleitung trotzdem unnötig, weil man die Existenz der eingesetzten Methoden besser direkt im Script prüft.

        if bla() {
          bla();
        }

        Grüße,
         Roland

        --
        Ich war für das Thema (BARRIEREFREIHEIT) im Forum. Es hat nicht sollen sein.
        ss:| zu:} ls:} fo:} de:> va:} ch:| sh:) n4:& rl:| br:< js:{ ie:{ fl:{ mo:|
        http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
        1. Das unterschreibe ich glatt. Allerdings ist die Umleitung trotzdem unnötig, weil man die Existenz der eingesetzten Methoden besser direkt im Script prüft.

          if bla() {
            bla();
          }

          Aber nicht so.

          if(typeof bla != 'undefined') bla();

          oder halt auf 'function' prüfen.

          Struppi.

          1. Hi Struppi,

            [...] eingesetzten Methoden besser direkt im Script prüft.

            if bla() {
              bla();
            }

            Aber nicht so.

            Das war absehbar...

            if(typeof bla != 'undefined') bla();

            ...denn ich habe im letzten Jahr ca. 2 Zeilen Javascript geschrieben. ;-)

            Grüße,
             Roland

            --
            Ich war für das Thema (BARRIEREFREIHEIT) im Forum. Es hat nicht sollen sein.
            ss:| zu:} ls:} fo:} de:> va:} ch:| sh:) n4:& rl:| br:< js:{ ie:{ fl:{ mo:|
            http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
    2. Hallo Roland,

      also ich habe ein Frameset (siehe unten)
      und Netscape 4.7 zerschlägt alles!
      IE, Mozilla, Opera, Netscape 7.0 habe ich schon "unter Kontrolle"
      aber Netscape 4.7 raubt mir alle Nerven!

      Please Help ;-)

      dir ist bekannt, dass Netscape >4 in Wahrheit ein Mozilla ist? Was soll das eigentlich bringen, worin unterscheiden sich die Seiten, auf die umgeleitet werden soll?

      Grüße,
       Roland

      -----------------------------------------------------------------
      <frameset  rows="*,417,*" border=0 frameborder=0 framespacing=0>
          <frame name="top" src="frame.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
      <frameset  cols="*,760,*" border=0 frameborder=0 framespacing=0>
      <frameset  rows="88,*,295" border=0 frameborder=0 framespacing=0>
          <frame name="n_left" src="n_left.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
          <frame name="left" src="frame.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
          <frame name="a_left" src="a_left.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
      </frameset>
          <frame name="bymaute" src="home.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
      <frameset  rows="88,*,295" border=0 frameborder=0 framespacing=0>
          <frame name="n_right" src="n_right.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
          <frame name="right" src="frame.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
          <frame name="a_right" src="a_right.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
      </frameset>
      </frameset>
          <frame name="bottom" src="frame.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
      </frameset>

      1. Hi Markus,

        also ich habe ein Frameset (siehe unten)

        um Himmels Willen, ich weiß gar nicht mehr, wie man das definiert :-/

        und Netscape 4.7 zerschlägt alles!

        Was passiert denn? Treten Fehler auf, wenn du die Frameseiten einzeln aufrufst? Dann liegt es nicht am Frameset, dessen Code du übrigens mit http://validator.w3.org/ prüfen kannst.

        IE, Mozilla, Opera, Netscape 7.0 habe ich schon "unter Kontrolle"

        Kompliment.

        aber Netscape 4.7 raubt mir alle Nerven!

        *g* Bestimmt melden sich gleich NS4-Kenner mit guten Ratschlägen.

        Grüße,
         Roland

        --
        Ich war für das Thema (BARRIEREFREIHEIT) im Forum. Es hat nicht sollen sein.
        ss:| zu:} ls:} fo:} de:> va:} ch:| sh:) n4:& rl:| br:< js:{ ie:{ fl:{ mo:|
        http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
  4. case "Microsof Internet Explorer":
    document.location.href="index.html";
    break;
    case "Netscape":
    document.location.href="index_2.html";
    break;
    case "Opera":
    document.location.href="index_2.html";
    break;
    default:
    break;

    Was unterschiedet denn index und index_2?
    Warum kommen besucher mit einem anderen Browser gar nicht weiter?

    In der Regel sind Browserweichen nur dazu da Unzulänglichkeiten des Weddesigners zu kaschieren. Sind deine Seiten valide http://validator.w3.org/ dann werden sie in aller Regel in allen modernen Browsern gleich gut angezeigt. D.H. sauberer HTML/CSS Code erspart dir eine Menge Arbeit, da du dann (wie eigentlich die meisten) nur noch eine Version deiner Seiten brauchst.

    Struppi.

  5. o.k.
    nochmal eine Zusammenfassung meines Problems:

    Ich bin Designer und lege viel wert auf das Design ;-)
    Aus diesem Grund habe ich mich für ein Frameset (siehe unten) enschieden.
    Das Frameset ist o.k. aber Netscape 4.7 stellt die Frames anderst da als:
    Netscape 7.0, IE, Opera, Mozilla

    Ich muss also eine Browserabfrage machen die, die unterschiedlichen
    Browser (Netscape Versionen) auf die entsprechende Seite weiterleitet.

    Leider sind meine Java Script Kenntnisse eher rar ;-(
    und ich komme nicht weiter.

    Hier ist meine bisherige Browserabfrage:
    -----------------------------------------------------------------
    <!--
    switch(navigator.appName)
    {
    case "Internet Explorer":
    document.location.href="index.html";
    break;
    case "Netscape":
    document.location.href="index_2.html";
    break;
    case "Mozilla":
    document.location.href="index_2.html";
    break;
    case "Opera":
    document.location.href="index_2.html";
    break;
    default:
    break;
    }
    -->
    -----------------------------------------------------------------

    und hier das Frameset:

    -----------------------------------------------------------------

    <frameset  rows="*,417,*" border=0 frameborder=0 framespacing=0>
        <frame name="top" src="frame.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
        <frameset  cols="*,760,*" border=0 frameborder=0 framespacing=0>
            <frameset  rows="88,*,295" border=0 frameborder=0 framespacing=0>
                <frame name="n_left" src="n_left.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
       <frame name="left" src="frame.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
                <frame name="a_left" src="a_left.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
            </frameset>
            <frame name="bymaute" src="home.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
            <frameset  rows="88,*,295" border=0 frameborder=0 framespacing=0>
                <frame name="n_right" src="n_right.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
                <frame name="right" src="frame.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
                <frame name="a_right" src="a_right.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
            </frameset>
        </frameset>
        <frame name="bottom" src="frame.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
    </frameset>

    THX

    Markus

    1. o.k.
      nochmal eine Zusammenfassung meines Problems:

      Ich bin Designer und lege viel wert auf das Design ;-)
      Aus diesem Grund habe ich mich für ein Frameset (siehe unten) enschieden.
      Das Frameset ist o.k. aber Netscape 4.7 stellt die Frames anderst da als:
      Netscape 7.0, IE, Opera, Mozilla

      Ich muss also eine Browserabfrage machen die, die unterschiedlichen
      Browser (Netscape Versionen) auf die entsprechende Seite weiterleitet.

      Netscape 4 (spätere nicht mehr?) stellt bekanntermaßen Frames nicht pixelgenau dar insofern ist eine Umleitung überflüssig, da egal welche Anstregung du unternimmst, du wirst keine Pixelgenauen Frames hinbekommen, du kannst einen Workaround machen, der wird aber nur bei dir und mit deiner Auflösung funktionieren, aber das kann sich nach dem Vollmond wieder ändern.

      'Designer' die für's Internet pixeldesign machen, sind keine Webdesigner und sollten lieber weiter Papierlayout entwerfen. Webdesign ist anders als Papierdesign.

      Struppi.

      1. 'Designer' die für's Internet pixeldesign machen, sind keine Webdesigner und sollten lieber weiter Papierlayout entwerfen. Webdesign ist anders als Papierdesign.

        Struppi.

        Danke! ;-(

        Eine Lösung wäre mir lieber gewesen als Sprüche.

        Nichts für ungut!

        Markus

        1. 'Designer' die für's Internet pixeldesign machen, sind keine Webdesigner und sollten lieber weiter Papierlayout entwerfen. Webdesign ist anders als Papierdesign.

          Struppi.

          Danke! ;-(

          Eine Lösung wäre mir lieber gewesen als Sprüche.

          Nichts für ungut!

          Ich bitte dich!

          Ich sagte:
          Netscape 4 (spätere nicht mehr?) stellt bekanntermaßen Frames nicht pixelgenau dar insofern ist eine Umleitung überflüssig, da egal welche Anstregung du unternimmst, du wirst keine Pixelgenauen Frames hinbekommen, du kannst einen Workaround machen, der wird aber nur bei dir und mit deiner Auflösung funktionieren, aber das kann sich nach dem Vollmond wieder ändern.

          D.H. es gibt keine Lösung, auch wenn du es nicht wahr haben willst.

          Struppi.

    2. Hi Markus,

      Ich muss also eine Browserabfrage machen die, die unterschiedlichen
      Browser (Netscape Versionen) auf die entsprechende Seite weiterleitet.

      if (document.layers) {
        -> Code nur für Netscape 4
      }

      Einige Fragen habe ich noch:

      • Was passiert, wenn ich via Suchmaschine auf eine einzelne Frameseite gelange?
      • Kann ich die einzelnen Frameseiten bookmarken?

      Grüße,
       Roland

      --
      Ich war für das Thema (BARRIEREFREIHEIT) im Forum. Es hat nicht sollen sein.
      ss:| zu:} ls:} fo:} de:> va:} ch:| sh:) n4:& rl:| br:< js:{ ie:{ fl:{ mo:|
      http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm