Thomas: IE 5.0 Abfrage

Hallo!

Ich habe ein Problem mit der Abfrage vom Internet Explorer 5.0.

Hat einer einen Tip wie es geht?

  1. Hi!

    Ganz einfach geht‚s mit:

    if (document.documentElement)
        bla.bla.style.....

    versteht aber auch Netscape 6.

    Bis dann
    Alex

    1. Hi!

      Ganz einfach geht‚s mit:

      if (document.documentElement)
          bla.bla.style.....

      versteht aber auch Netscape 6.

      Hä?

      Aber das verstehe ich nicht!

      Ich mache es bis jetzt immer so:

      if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) == "4")

      .....

      das blöde ist nur, das der IE 5.0 nur als 4.0 (compatible 5.0) erkannt wird, aber wie ich es mache, es geht nicht!

      1. Hallo

        ändere deinen text wie folgt ab:

        if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) >= "4")

        so müsste es funktionieren statt == must du >= eingeben :-)

        ciao

        Michael

        1. Hallo

          ändere deinen text wie folgt ab:

          if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) >= "4")

          so müsste es funktionieren statt == must du >= eingeben :-)

          ciao

          Michael

          Super, danke, ich probier es gleich aus!

          1. Hallo

            ändere deinen text wie folgt ab:

            if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) >= "4")

            so müsste es funktionieren statt == must du >= eingeben :-)

            ciao

            Michael

            Super, danke, ich probier es gleich aus!

            Ich habe s ausprobiert, es geht, allerdings kann ich jetzt immernoch nicht den IE 5.0 von allen anderen Versionen trennen.
            Gibt es da auch einen Trick?

            1. Sup!

              Ehm... kann hier noch jemand selber denken?

              Wie wär's mal so:

              versionfuenf = (navigator.appVersion.indexOf("5.") != -1);

              Wenn Version 5, dann enthaelt appVersion das Zeichen "5" gefolgt von einem "." (Punkt), dann ist appVersion.indexOf("5.") nicht gleich -1, dann ist die Bedingung true, dann ist versionfuenf auch true.

              Alles klar?

              Gruesse,

              Bio
              (der das allerdings gerade erst ersonnen hat und nur 90% Garantie gibt, dass es funzt)

              1. Hi Bio,

                (der das allerdings gerade erst ersonnen hat und nur 90% Garantie gibt, dass es funzt)

                Schade, dass es die anderen 10% sind, denn:

                When you check the "navigator.appVersion" property on Internet Explorer 5.0, it returns 4. (vgl. http://developer.netscape.com/docs/examples/javascript/browser_type.html

                Tatsächlich meldet der IE 5 sich als vierer und verrät erst bei UserAgent seinen wirklichen Namen. Eine zusätzliche Abfrage mit
                if(navigator.userAgent.indexOf("msie 5.0")!=-1) dürfte ein Stück weiterhelfen (hierfür aber - weil ungetestet! - höchstens 20% Garantie!)

                Grüße,

                Utz

                1. Hi Utz und die anderen,

                  hier steht's wie's geht: http://msdn.microsoft.com/workshop/management/sniffing.asp

                  Gruß,
                  Martin

                2. Sup!

                  Nimm dies!

                  <../../tech.htm#a7>

                  ''...Der Wert von navigator.appVersion umfaßt mehr als nur die reine Produktversion.
                  Netscape 4.01 liefert z.B. folgenden Wert: "4.01 [en] (Win95; I)"
                  der MS Internet Explorer 4.0 liefert z.B.: "4.0 (compatible; MSIE 4.0; Windows 95)"....''

                  Gruesse,

                  Bio

  2. Hallo!

    Ich habe ein Problem mit der Abfrage vom Internet Explorer 5.0.

    So geht's:

    if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(22,23)==5)

    Gruss
    Mirko

    1. Sup!

      if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(22,23)==5)

      Macht der IE keinen Unterschied zwischen Zeichen "5" und Zahlen 5 ?
      Ist die 5 auch immer an der 22ten Position?

      Gruesse,

      Bio

      1. Macht der IE keinen Unterschied zwischen Zeichen "5" und Zahlen 5 ?

        Als Variablen werden nur VARIANT verwendet.

        Ist die 5 auch immer an der 22ten Position?

        Sollte schon so sein.

        Gruß,
        Martin

        1. Sup!

          Als Variablen werden nur VARIANT verwendet.

          Ist das die neueste Erfindung von MS, Variablen mit automatischer Typumwandlung, die naechste Stufe des "Microsoft Moronizers" ?
          Oder war das schon immer so bei JavaScript? So wie bei Perl?

          Gruesse,

          Bio

          1. Oder war das schon immer so bei JavaScript? So wie bei Perl?

            Schau halt nach, irgendwo im Netz ist bestimmt die Spezifikation von ECMAScript.

            Gruß,
            Martin

            1. Sup!

              Schau halt nach, irgendwo im Netz ist bestimmt die Spezifikation von ECMAScript.

              In der Tat gibt es die Spezifikation "irgendwo im Netz" - genauer gesagt bei http://www.ecma.ch (O Wunder!):-)

              Wenn Du die Spezifikation _selbst_ mal gelesen haettest, haettest Du auch gewusst, dass es den Typ VARIANT gar nicht gibt, und das ECMA sehr wohl verschiedene Typen kennt. Bei Vergleichen jedoch (siehe Seite 56) wird noetigenfalls eine Typkonvertierung vorgenommen. *fg*

              Gruesse,

              Bio

              1. In der Tat gibt es die Spezifikation "irgendwo im Netz" - genauer gesagt bei http://www.ecma.ch (O Wunder!):-)

                Danke schön.

                Wenn Du die Spezifikation _selbst_ mal gelesen haettest, haettest Du auch gewusst, dass es den Typ VARIANT gar nicht gibt, und das ECMA sehr wohl verschiedene Typen kennt. Bei Vergleichen jedoch (siehe Seite 56) wird noetigenfalls eine Typkonvertierung vorgenommen. *fg*

                Und was war an meiner Antwort auf die ursprüngliche Frage jetzt falsch?

                1. Sup!

                  Was falsch war - nichts!
                  Ich wollte Dich nur belehren, dass es diesen Typen Variant nicht gibt.

                  Gruesse,

                  Bio

      2. Hallo Bio!

        Macht der IE keinen Unterschied zwischen Zeichen "5" und Zahlen 5

        ?
        Ich hab's mal ausprobiert. Zumindest in diesem Fall macht es keinen Unterschied, ob man die Zahl 5 oder das Zeichen "5" abfragt.

        Ist die 5 auch immer an der 22ten Position?

        Der Wert den man bei der Abfrage navigator.appVersion für den MIE 5 zurückbekommt beginnt immer mit "4.0 (compatible; MSIE 5.", dh. die 5 steht immer an der 22ten Position.

        Über den Prozentwert der Richtigkeit meiner Behauptung kann ich nur spekulieren. Vielleicht 95%. :-))

        Gruss
        Mirko

  3. Hi

    momentan sollte folgendes eigentlich nur beim IE5 bzw. 5.5 zutreffen :

    var IE  = (document.all) ? 1:0;
    var IE5 = (document.all && document.getElementById) ? 1:0;

    gruss
    Jens