MaxSmily: Per JavaScript zwischen MSIE5.5 und Opera5 unterscheiden

Hi,
ich möchte ein Javascript so anpassen, daß es jeweils eigene Anweisungen für IExplorer und Opera ausführt, da die beiden Browser bestimmte Javascript-Ereignisse verschieden ausführen. (Die anderen Browser ingorieren wir für diese Frage einfach mal).

Die Aufgabe ist einfach, dachte ich mir. Wofür gibt es denn die Javascript-Anweisungen 'navigator.appName', 'navigator.appVersion' und 'navigator.appCodeName'?
Einfach mal in Opera aufgerufen, doch was müssen meine trüben Augen sehen?

Opera behauptet: "Mein appName ist -> Microsoft Internet Explorer"
und "Meine appVersion ist -> 4.0 (compatible; MSIE 5.0; Windows 98)"
und "Mein appCodeName ist -> Mozilla"

Das wird doch nicht so einfach, dachte ich mir dann.

Max

  1. Hallo,

    verwende zur Abfrage einfach das folgende Script:
    if (navigator.userAgent.indexOf("Opera")!==-1) opera=1

    Gruß Henry

  2. Hallo Max,

    [...]

    Opera kann sich bekanntlich maskieren, findest Du in der dt. Version
    unter Datei -> Einstellungen -> Verbindungen -> Browser-Identifika-
    tion.
    In der aktuellen 5.11 Version ist da möglich:

    Als Opera identifizieren lassen
    navigator.userAgent     Opera/5.11 (Windows ME; U)  [de]
    navigator.appCodeName   Mozilla
    navigator.appVersion    5.11 (Windows ME; U)
    navigator.appName       Opera
    navigator.language      de
    navigator.platform      Win32

    Als Mozilla/Netscape 5.0 ausgeben
    navigator.userAgent     Mozilla/5.0 (Windows ME; U) Opera 5.11  [de]
    navigator.appCodeName   Mozilla
    navigator.appVersion    5.0 (Windows ME; U)
    navigator.appName       Opera
    navigator.language      de
    navigator.platform      Win32

    Als Mozilla/Netscape 4.76 ausgeben
    navigator.userAgent     Mozilla/4.76 (Windows ME; U) Opera 5.11  [de]
    navigator.appCodeName   Mozilla
    navigator.appVersion    4.76 (Windows ME; U)
    navigator.appName       Opera
    navigator.language      de
    navigator.platform      Win32

    Als Mozilla/Netscape 3.0 ausgeben
    navigator.userAgent     Mozilla/3.0 (Windows ME; U) Opera 5.11  [de]
    navigator.appCodeName   Mozilla
    navigator.appVersion    3.0 (Windows ME; U)
    navigator.appName       Opera
    navigator.language      de
    navigator.platform      Win32

    Als Internet Explorer 5.0 ausgeben
    navigator.userAgent     Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 5.11  [de]
    navigator.appCodeName   Mozilla
    navigator.appVersion    4.0 (compatible; MSIE 5.0; Windows ME)
    navigator.appName       Opera
    navigator.language      de
    navigator.platform      Win32

    Ermittelt wurden diese Angaben mit der dt. Opera-Version und der
    Millenium Edition eines bekannten Microsoft-Spieles.

    http://netz-notizen.de/javascript/tipps/navigator_ermitteln.htm

    Viele Grüße aus Dresden,
    Stefan Einspender

    1. Danke! Wieder was gelernt!
      Max

    2. Hallo Stefan,

      bei mir sieht es etwas anders aus:

      • als IE 5 ausgeben
        navigator.userAgent     Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 4.0) Opera 5.0  [en]
        navigator.appCodeName   Mozilla
        navigator.appVersion    4.0 (compatible; MSIE 5.0; Windows NT 4.0)
        navigator.appName       Microsoft Internet Explorer
        navigator.language      en
        navigator.platform      Win32

      Das Opera bei der Einstellung IE 5 als navigator.appName den Microsoft Internet Explorer und nicht Opera ausgibt, entspricht auch meinen bisherigen Erfahrungen und erscheint auch irendwie logisch. Damit ist aus meiner Sicht nur die Abfrage von navigator.userAgent zur eindeutigen Identifizierung des Opera geeignet.

      Gruß Henry

    3. Hallo

      scheinbar muß man den Opera neu starten, damit er es korrekt anzeigt,
      deshalb hier nochmal alle Angaben:

      Als Opera identifizieren lassen
      navigator.userAgent     Opera/5.11 (Windows ME; U)  [de]
      navigator.appCodeName   Mozilla
      navigator.appVersion    5.11 (Windows ME; U)
      navigator.appName       Opera
      navigator.language      de
      navigator.platform      Win32
      Der Browser unterstützt
      JavaScript
      JavaScript1.1
      JavaScript1.2
      JavaScript1.3

      Server: Opera/5.11 (Windows ME; U)  [de]

      Als Mozilla/Netscape 5.0 ausgeben
      navigator.userAgent     Mozilla/5.0 (Windows ME; U) Opera 5.11  [de]
      navigator.appCodeName   Mozilla
      navigator.appVersion    5.0 (Windows ME; U)
      navigator.appName       Netscape
      navigator.language      de
      navigator.platform      Win32
      Der Browser unterstützt
      JavaScript
      JavaScript1.1
      JavaScript1.2
      JavaScript1.3

      Server: Mozilla/5.0 (Windows ME; U) Opera 5.11  [de]

      Als Mozilla/Netscape 4.76 ausgeben
      navigator.userAgent     Mozilla/4.76 (Windows ME; U) Opera 5.11  [de]
      navigator.appCodeName   Mozilla
      navigator.appVersion    4.76 (Windows ME; U)
      navigator.appName       Netscape
      navigator.language      de
      navigator.platform      Win32
      Der Browser unterstützt
      JavaScript
      JavaScript1.1
      JavaScript1.2
      JavaScript1.3

      Server: Mozilla/4.76 (Windows ME; U) Opera 5.11  [de]

      Als Mozilla/Netscape 3.0 ausgeben
      navigator.userAgent     Mozilla/3.0 (Windows ME; U) Opera 5.11  [de]
      navigator.appCodeName   Mozilla
      navigator.appVersion    3.0 (Windows ME; U)
      navigator.appName       Netscape
      navigator.language      de
      navigator.platform      Win32
      Der Browser unterstützt
      JavaScript
      JavaScript1.1
      JavaScript1.2
      JavaScript1.3

      Server´: Mozilla/3.0 (Windows ME; U) Opera 5.11  [de]

      Als Internet Explorer 5.0 ausgeben
      navigator.userAgent     Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 5.11  [de]
      navigator.appCodeName   Mozilla
      navigator.appVersion    4.0 (compatible; MSIE 5.0; Windows ME)
      navigator.appName       Microsoft Internet Explorer
      navigator.language      de
      navigator.platform      Win32
      Der Browser unterstützt
      JavaScript
      JavaScript1.1
      JavaScript1.2
      JavaScript1.3

      Server: Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 5.11  [de]

      Ich bitte, diesen Lapsus zu entschuldigen, danke an Henry für den
      Hinweis :)

      Die Werte wurden auf den beiden folgenden Seiten ermittelt:
      http://netz-notizen.de/javascript/tipps/navigator_ermitteln.htm
      http://www.perinet.de/noch/info-x.shtml

      Viele Grüße aus Dresden,
      Stefan Einspender