# navigator

navigator: Allgemeines zur Verwendung

### Eigenschaften:

appCodeName (Spitzname des Browsers)
appName (offizieller Name des Browsers)
appVersion (Browser-Version)
cookieEnabled (Cookies erlaubt)
language (Browser-Sprache)
platform (Plattform, auf der der Browser läuft)
userAgent (HTTP-Identifikation des Browsers)

### Methoden:

javaEnabled() (Java-Verfügbarkeit überprüfen)

### Unterobjekte:

mimeTypes
plugins

## navigator: Allgemeines zur Verwendung

Über das Objekt `navigator` können Sie in einem JavaScript Informationen darüber ermitteln, welchen Web-Browser der Anwender verwendet sowie einige nähere Spezifikationen dazu. Das kann zum Beispiel interessant sein, um die Ausführung von JavaScript-Anweisungen davon abhängig zu machen, welchen Browser der Anwender benutzt. Eine zuverlässigere Möglichkeit, um Fehlermeldungen in Browsern zu vermeiden, die bestimmte verwendete JavaScript-Befehle nicht kennen, bietet die Abfrage, ob ein Objekt existiert.

Eigenschaften und Methoden von `navigator` können Sie direkt ansprechen. Beispiel: `navigator.appName`.

## appCodeName

Speichert den Spitznamen des Browsers. Dieses Feature wurde von Netscape deshalb erfunden, weil der Netscape-Browser den Spitznamen "Mozilla" trägt.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    if (navigator.appCodeName == "Mozilla")
      alert("So ein drachenstarker Browser!");
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel ermittelt beim Einlesen der Datei, ob der vom Anwender benutzte Browser auf den Spitznamen "Mozilla" hört. Wenn ja, wird die Meldung "So ein drachenstarker Browser!" ausgegeben.

Sowohl Netscape als auch der Internet Explorer, Opera, Konqueror und Safari speichern in dieser Eigenschaft den Wert "Mozilla".

## appName

Speichert den Namen des Browsers, den der Anwender verwendet.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    document.write("So, so, Sie verwenden also " + navigator.appName);
    </script>
    </body></html>

### Erläuterung:

Das Beispiel schreibt mit der write()-Methode in die HTML-Datei, welchen Browser der Anwender verwendet.

Netscape speichert in dieser Eigenschaft beispielsweise den Wert "Netscape", der Internet Explorer den Wert "Microsoft Internet Explorer".

### Beachten Sie:

Unter Opera kann der Anwender frei wählen, wie sich der Browser identifiziert. Safari und Mozilla Firefox identifizieren sich als "Netscape".

## appVersion

Speichert die Version des Browsers, den der Anwender verwendet.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    if (navigator.appVersion.substring(0, 1) == "4")
      alert("Oh, ein Browser der 4. Generation!");
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel fragt ab, ob das erste Zeichen aus dem Wert, der in `navigator.appVersion` gespeichert ist, eine 4 ist. Wenn ja, wird eine Meldung ausgegeben.

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

Um Teile aus einer solchen Zeichenkette zu extrahieren wie im Beispiel mit der Methode `substring()`, lesen Sie den Abschnitt über das string-Objekt.

### Beachten Sie:

Unter Opera kann der Anwender frei wählen, wie sich der Browser identifiziert. Auch im Mozilla Firefox, Safari und im Konqueror ist es möglich, diese Angabe zu manipulieren. Damit können je nach Nutzereinstellung auch in dieser Eigenschaft beliebige und eventuell unrealistische Werte gespeichert sein.

## cookieEnabled

Speichert, ob der Nutzer das Setzen von Cookies erlaubt. Sind diese erlaubt, so enthält die Eigenschaft `true`, sonst `false`. Nicht geprüft werden kann mit dieser Eigenschaft, ob der Nutzer vor dem Speichern eine Warnmeldung erhält. In diesem Fall ist in der Eigenschaft ebenfalls `true` gespeichert.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    if (navigator.cookieEnabled == true) {
      document.write("Cookies erlaubt");
    } else if (navigator.cookieEnabled == false) {
      document.write("Cookies verboten.");
    } else {
      document.write("Verrate ich nicht.");
    }
    </script>
    </body></html>

### Erläuterung:

Das Beispiel wird gefragt, ob der Nutzer Cookies erlaubt. Ist das der Fall, wird mit der write()-Methode eine entsprechende Information ausgegeben. Sind keine Cookies verfügbar, wird gefragt, ob Cookies verboten sind. Browser, die `cookieEnabled` kennen und keine Cookies erlauben, folgen dem `if`-Zweig der Anweisung. Browser, die diese Eigenschaft nicht kennen, geben den Text `"Verrate ich nicht."` aus.

## language

Speichert die Sprache der Benutzerführung des Browsers, den der Anwender verwendet. Die Sprache wird dabei mit den international üblichen Abkürzungen gespeichert, z.B. "en" für englisch oder "de" für deutsch.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    if (navigator.language.indexOf("en") > -1) {
      document.write("dear visitor, welcome on our pages");
    } else if (navigator.language.indexOf("de") > -1) {
      document.write("Sehr geehrter Besucher, willkommen auf unseren Seiten");
    }
    </script>
    </body></html>

### Erläuterung:

Das Beispiel ermittelt, welche Benutzersprache der Browser des Anwenders verwendet. Wenn es englisch ist, wird mit der write()-Methode ein englischer Begrüßungstext in die HTML-Datei geschrieben, wenn es deutsch ist, ein deutscher Begrüßungstext.

### Beachten Sie:

Im Internet Explorer heißt diese Eigenschaft `navigator.browserLanguage`. Safari 1.0 identifiziert sich trotz deutscher Benutzerführung als englisch, in späteren Versionen ist dies korrekt.

## platform

Speichert, auf welchem Betriebssystemtyp der Browser läuft, den der Anwender verwendet.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    alert(navigator.platform);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel gibt beim Einlesen der Datei in einem Meldungsfenster aus, auf welcher Plattform der Browser beim Anwender läuft.

Bei Windows 95 gibt Netscape beispielsweise "Win32" aus, Safari identifiziert die Plattform als "MacPPC"

## userAgent

Speichert alle wichtigen Informationen über den Browser, den der Anwender verwendet, und zwar in der Form, die der Browser auch bei jeder HTTP-Anforderung einer Datei im WWW sendet.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    Diese Daten sendet Ihr Browser, wenn er Dateien im WWW anfordert:<br>
    <script type="text/javascript">
    document.write(navigator.userAgent);
    </script>
    </body></html>

### Erläuterung:

Das Beispiel schreibt in die HTML-Datei, mit welchen Daten sich der verwendete Browser im WWW ausgibt. Auf der Seite Client-Identifikationen finden Sie eine Übersicht bekannter Ausgaben, die in dieser Eigenschaft enthalten sein können. Die Übersicht kann helfen, wenn Sie Abfragen nach bestimmten Browsern, Versionen oder Plattformen durchführen wollen.

### Beachten Sie:

Unter Opera kann der Anwender frei wählen, wie sich der Browser identifiziert. Damit sind je nach Nutzereinstellung in dieser Eigenschaft verschiedene Werte gespeichert. Unabhängig von den Nutzereinstellungen ist jedoch in dieser Eigenschaft immer das Wort `Opera`, wenn auch an verschiedenen Positionen, enthalten. Auch in Mozilla Firefox und Safari ist es möglich, diese Angabe zu manipulieren.

## javaEnabled()

Testet, ob Java auf dem Browser des Anwenders verfügbar ist oder nicht. Liefert `true` zurück, wenn Java verfügbar ist, und `false`, wenn nicht.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    if (navigator.javaEnabled()) {
      document.write('<applet code="zticker.class" width="150" height="25"><\/applet>');
    }
    </script>
    </body></html>

### Erläuterung:

Das Beispiel fragt mit `if (navigator.javaEnabled())` ab, ob Java verfügbar ist. Wenn ja, wird mit der write()-Methode der HTML-Code für die Platzierung eines Java-Applets geschrieben.

| mimeTypes
| Math

© 2007 Impressum