Dominique Nüssli: Mit JavaScript Browser ermitteln

Hallo

Ich möchte mit einem kleinen Script die Javaversion ermitteln, um dann bei einer "falschen" Version eine andere Seite anzeigen lassen. Das Script das ich geschrieben habe läuft aber unter Explorer 3.x nicht. Und ich habe keine Ahnung wieso nicht.

<html>
<head>
<title>probe</title>
<link rel="stylesheet" type="text/css" href="formate.css">
<style type="text/css">
  </style>
<script language="JavaScript">
BrowserName = navigator.appName;            
BrowserVersion = parseInt(navigator.appVersion);

if(BrowserName == "Netscape" && BrowserVersion >= 4)  

version = "n4";
else if (BrowserName == "Microsoft Internet Explorer" && BrowserVersion >= 4)
  version = "e4";
else
  window.location.href="falscher_browser.htm";    
</script>
</head>
<body>
</body>
</html>

Im Explorer 3.x bringe ich nicht einmal folgendes Script zum Laufen:

<html>
<head>
<title>Probe</title>
<script language="JavaScript">
alert('probe');
  </script>
</head>
<body>
</body>
</html>

Was ist falsch, oder kann man beim Explorer 3.x die Javascripts ausschalten?
Würde das erste Script auch auf anderen Browsern laufen?

Vielen Dank
Dominique

  1. Ich möchte die Browserversion ermitteln, nicht die Javaversion.

    1. Ich möchte die Browserversion ermitteln, nicht die Javaversion.

      Hallo,
      ich habe auch mal an dem Problem rumgedoktert. Bin aber in der Erkennung des Browsers auch nicht weiter gekommen. Einige IE 3er- Versionen wissen halt nicht wer sie sind. Die Frage nach der Version gibt ein leeren Alert zurück.
      Ich habe das Problem dann mit einer if- Schleife gelöst. Wenn nichts stimmt dann.....
      Damit schickts du eventuell auch einige andere Browser in die Wicken, aber was soll`s.

      dirk

  2. Das Script das ich geschrieben habe läuft aber unter Explorer 3.x nicht. Und ich habe keine Ahnung wieso nicht.

    Was ist falsch, oder kann man beim Explorer 3.x die Javascripts ausschalten?
    Würde das erste Script auch auf anderen Browsern laufen?

    Hallo Dominique,
    ich habe zum test die Datei "falscher_browser" angelegt und mein IE 3.02 hat dein
    Script ordnungsgemäß ausgeführt und zu dieser Datei gewechselt.
    Ob JS evtl ausgeschaltet ist, kannst du ja mit dem <noscript> -Tag überprüfen, d.h.
    im Body <noscript>JS ausgeschaltet</noscript> notieren.
    Man kann im IE 3 JavaScript ausschalten, indem man in Ansicht-Optionen-Sicherheit
    das Häkchen vor "Aktive X-Scripts ausführen" entfernt.
    Wenn's immer noch Probleme gibt, nochmal schreiben.
    Tschau Ralph.

  3. Hi,

    das mit der Browserversion ist leider so 'ne Sache... es wurde ja bereits deutlich gemacht, daß manche Browser da "Müll" liefern.

    Falls Du die Möglichkeit hast, CGIs zu benutzen, solltest Du vielleicht in Erwägung ziehen, eine (verhältnismäßig) sichere Browsererkennung über ein Perl-Script zu lösen. Du prüfst "einfach" auf HTTP_USER_AGENT und verzweigst anschließend mit print "Location: seite_browser_version.html\n\n"; oder so ähnlich. Mit der Routine für die Browsererkennung kann ich Dir gerne auch helfen, für den Moment spare ich mir die Codezeilen aber :-)

    Cheatah

  4. Hallo

    Ich möchte mit einem kleinen Script die Javaversion ermitteln, um dann bei einer "falschen" »»Version eine andere Seite anzeigen lassen. Das Script das ich geschrieben habe läuft aber »»unter Explorer 3.x nicht. Und ich habe keine Ahnung wieso nicht.

    JavaScript un IE kenne ich,
    die Beta des IE 5 läßt sich leider nicht per JavaScript ansprechen. Obwohl mir Netscape sgt der Code ist "Richtig", Navigastionsleiste "javascript:", bekomme ich im IE weder über

    if(navigator.appCodeName == "MSIE")

    noch über :

    if(navigator.appCodeName == "Microsoft Internet Explorer")

    eine kleine Dialogbox

    1. Hi Jens,

      JavaScript un IE kenne ich,
      die Beta des IE 5 läßt sich leider nicht per JavaScript ansprechen. Obwohl mir Netscape sgt der Code ist "Richtig", Navigastionsleiste "javascript:", bekomme ich im IE weder über

      if(navigator.appCodeName == "MSIE")

      noch über :

      if(navigator.appCodeName == "Microsoft Internet Explorer")

      eine kleine Dialogbox

      Was hast du denn für ein Betriebssystem ? Der IE liefert unter CodeName nur unter MAC
      'MSIE' ab, ansonsten 'Mozilla'. Unter navigator.appName kannst Du es mal mit 'Microsoft
      Internet Explorer' versuchen (klappt meiner meinung auch mit der 5 Beta).

      Tschau Ralph.

  5. Ich würde es mal mit dem Script probieren:

    <script language="javascript" type="text/javascript">
    <!--
    if(navigator.appName.indexOf("Netscape") != -1 && navigator.appVersion.charAt(0) >= 4)
    {
    [Befehle für den NN4++]
    }

    if(navigator.appName.indexOf("Microsoft") != -1 && navigator.appVersion.charAt(0) >=4)
    {
    [Befehle für den IE4++]
    }

    if((navigator.appName.indexOf("Netscape") == -1 && navigator.appName.IndexOf("Microsoft") == -1 && navigator.appVersion.charAt(0) < 4) {
    [Befehle für anderen Browser]
    }

    //-->
    </script>