codestory

Die Anleitung zu Javascript Navigator

  1. window.navigator
  2. navigator.product
  3. navigator.appName
  4. navigator.appCodeName
  5. navigator.appVersion
  6. navigator.platform
  7. navigator.cookieEnabled
  8. navigator.geolocation
  9. navigator.language
  10. navigator.onLine
  11. navigator.userAgent
  12. navigator.javaEnabled()

1. window.navigator

Das Objekt window.navigator enthaltet die Information über den Browser des Benutzer, z.B den Name des Browser, der Version ... Sie können in das Objekt navigator ohne die Verwendung der Präfix window benutzen.
  • navigator.appName
  • navigator.appCodeName
  • navigator.platform
  • ...

2. navigator.product

navigator.product gibt immer "Gecko" für alle Browser zurück.
var prodName = navigator.product; // Gecko

3. navigator.appName

navigator.appName gibt den Name des Browser zurück. Aber in der Praxis macht es nicht viel Sinn denn es gibt in die meisten Situationen "Netscape" zurück. Inbesonderen, für die verschiedenen Browser:
  • IE11+, Firefox, Chrome und Safari gibt "Netscape" zurück.
  • IE 10 oder später gibt Microsoft Internet Explorer" zurück.
  • Opera gibt "Opera" zurück.
var appName = navigator.appName;

4. navigator.appCodeName

navigator.appCodeName gibt den Name des Browser zurück. Aber es macht nicht viele Sinn denn alle Browser gibt die Wert "Mozilla" zurück, das andeutet dass, dieser Browser Mozilla passt.
var codeName = navigator.appCodeName; // Mozilla

5. navigator.appVersion

navigator.appVersion gibt die Information der Browser Version zurück.
appVersion-example.html
<!DOCTYPE html>
<html>
   <head>
      <title>Navigator appVersion</title>
      <meta charset="UTF-8">
      <style>textarea {width:100%;margin-top:10px;}</style>
   </head>
   <body>

       <h1>navigator.appVersion</h1>

       <button onClick="showInfos()">Show Infos</button>

        <textarea name="name" rows="5" id="log-area"></textarea>

        <script>
           function showInfos()  {

             var logArea = document.getElementById("log-area");
             logArea.value = navigator.appVersion;
           }
           showInfos();
        </script>
   </body>
</html>
Laufen Sie das Beispiel auf dem Browser Chrome (Windows 7), und bekommen das Ergebnis:
Laufen Sie das Beispiel auf dem Browser Firefox (Windows 7) und bekommen das Ergebnis:

6. navigator.platform

navigator.platform gibt den Name der Plattform zurück, auf die der Browser übersetzt wird (compiled). Es kann ein leeres String zurückgeben wenn der Browser die Plattform absagt oder nicht festlegt. Die Werte könen sein:
  • HP-UX
  • Linux i686
  • Linux armv7l
  • Mac68K
  • MacPPC
  • MacIntel
  • SunOS
  • Win16
  • Win32
  • WinCE
  • Etc..
Die meisten Browser, einschließend Chrome, Edge und Firefox 63 und später geben "Win32" beim Laufen auf dem Browser Windows zurück auch wenn es auf die Version Windows 64 bit läuft, inzwischen geben Internet Explorer und die Versionen von Firefox vor der Version 63"Win64" zurück.

7. navigator.cookieEnabled

navigator.cookieEnabled gibt true zurück wenn der Browser Cookie aktiviert (enable), umgekehrt gibt false zurück.
Den Browser Chrome konfigurieren um Cookie einzuschalten (turn on) oder abzuschalten (turn off):
Den Browser Firefox konfigurieren um Cookie einzuschalten (turn on) oder abzuschalten (turn off)::

8. navigator.geolocation

navigator.geolocation gibt ein Objekt Geolocation zurück, das die Information von der Position des Benutzer wie den Längengrad (longitude), Breitengrad (latitude),..enthaltet . Das ermöglicht dass eine website oder die Applikation nach der Position des Benutzer das anpassende Ergebnis versorgt.
Notiz: Für den Grund der Sicherheit, wenn eine website versucht, die Position Information zuzugreifen. Der Benutzer wird informiert und fragt nach der Erteilung der Genehmigung. warhgenommen, dass jeder Browser die eigene Politike und Methode hat um diese Genehmigung anzufordern.
Zum Beispiel:
geolocation-example.js
// Success Handler
function successHandler(position)  {
  var logArea = document.getElementById("log-area");

  logArea.value = "";
  logArea.value += "Latitude: " + position.coords.latitude + "\n";
  logArea.value += "Longitude: " + position.coords.longitude + "\n";
}

// Error Handler
function errorHandler(positionError)  {
   if(positionError.code == PositionError.PERMISSION_DENIED) {
       alert("Error: Permission Denied!");
   } else if(positionError.code == PositionError.POSITION_UNAVAILABLE) {
       alert("Error: Position Unavailable!");
   } else if(positionError.code == PositionError.TIMEOUT) {
       alert("Error: Timeout!");
   }
}

function showInfos()  {
  navigator.geolocation.getCurrentPosition(successHandler, errorHandler);
}
geolocation-example.html
<!DOCTYPE html>
<html>
   <head>
      <title>Navigator geolocation</title>
      <meta charset="UTF-8">
      <style>textarea {width:100%;margin-top:10px;}</style>

      <script src="geolocation-example.js"></script>
   </head>
   <body>

       <h1>navigator.geolocation</h1>

       <button onClick="showInfos()">Show Infos</button>

        <textarea name="name" rows="5" id="log-area"></textarea>
   </body>
</html>
Geolocation ist eine ziemlich große API , deshalb brauch es in einem einzelnen Artikel vorgestellt werden. Wenn Sie sich dafür interessiert, können Sie den folgenden Artikel lesen:

9. navigator.language

navigator.language gibt ein String, das die beliebte Sprache des Benutzer vertritt, zurück. Sie wird die Sprache "Der Benutzer Interface Browser" (Browser UI) genannt.
var lang = navigator.language
Die Werte können "en", "en-US", "fr", "fr-FR", "es-ES", sein... Achtung: In den Browser Safari in MacOS und iOS vor der Version 10.2 ist country code die Kleinbuchstabe (lowercase) "en-us", "fr-fr", "es-es", ...

10. navigator.onLine

navigator.onLine gibt den Online Zustand des Browser zurück. If es true zurückgibt, d.h ist der Browser online, umgekehrt gibt es false zurück. Seine Wert wir aktualisiert wenn der Benutzer in einer Link besucht oder eine Anforderung wird nach dem Server durch JavaScript gesendet.
var online = navigator.onLine;
Die verschiedenen Browser können sich bei der Definion Online unterscheiden.
In Chrome und Safari wenn der Browser mit lokalem Netwerk (LAN) oder Router nicht verbinden kann, wird es offline sein. Umgekehrt wird es als online gesehen. D.h wenn Sie die Wert true bekommen, bedeutet das nicht, dass Sie Internet zugreifen können.
Es gibt einige Situationen, in den Sie die falsche Urteilen geben. Z.B, Ihr Computer installiert ein virtuelles Netwerk (Virtual Network). Wenn das virtuelle Netwerk immer verbindet ist (connected), wird navigator.onLine die Wert true zurückgeben. Deshalb wenn Sie den Online Zustand des Browser festlegen möchten, müssen Sie die zusätzlichen Testsmöglichkeiten entwickeln. Um zu studieren, können Sie dien folgenden Artikel referieren:
Im Firefox (version <= 41), Internet Explorer wenn Sie die Mode des Browser zum Zustand Offline wechseln, wird navigator.onLine die Wert false zurückgeben, umgekehrt gibt es immer true zurück. Für Firefox (version > 41) ist die Aktion gleich wie für Chrome und Safari.
Sie können die Änderungen in den Netwerk durch das Zulesen der Events auf window.ononline und window.onoffline sehen.
onLine-example.html
<!DOCTYPE html>
<html>
   <head>
      <title>Navigator onLine</title>
      <meta charset="UTF-8">

      <style>textarea {width:100%;margin-top:10px;}</style>

      <script>
        function updateOnlineStatus(msg) {
            var logArea = document.getElementById("log-area");

            logArea.value += msg +"\n";
            logArea.value += "navigator.onLine = " + navigator.onLine +"\n";
            logArea.value += "---------------------\n";
        }

        function loaded() {
            updateOnlineStatus("Load Event");

            document.body.addEventListener("offline", function () {
                updateOnlineStatus("Offline Event")
            }, false);

            document.body.addEventListener("online", function () {
                updateOnlineStatus("Online Event")
            }, false);
        }
      </script>

   </head>
   <body onload = "loaded()">

       <h1>navigator.onLine</h1>

      <textarea rows="8" id="log-area"></textarea>

   </body>
</html>

11. navigator.userAgent

Jedes Mal wenn der Browser eine Anforderung nach dem Server schickt, hängt er einen Stück von Information in Header an. Das ist user-agent . User Agent versorgt dem Server eine kürze Information über den Browser und das Betriebssystem des Benutzer.
var userAgent = navigator.userAgent;
Die gemeine Struktur vom String User Agent:
appCodeName/appVersion number (Platform; Security; OS-or-CPU; 
Localization; rv: revision-version-number) product/productSub 
Application-Name Application-Name-version
Z.B, das ist das String User Agent , das nach Server von dem auf das Betriebssystem Windows 7 Browser Firefox gesent wird.
Firefox/Windows 7
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
Das String User Agent des Browser Internet Explorer 9 läuft auf dem Betriebssystem Windows 7:
IE9/Windows 7
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Das String User Agent des Browser Chrome läuft auf dem Betriebssystem Windows 7:
Chrome/Windows 7
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
Sie können auch die folgende Addresse besuchen um User Agent Ihres Browser zu sehen:
Die auf die Entdeckung des String User Agent basierende Browser-Identifizierung ist unverlässlich und nicht empfohlen. Denn der Benutzer kann es anpassend. Zum Beispiel:
  • Für den Browser Firefox können Sie User Agent durch die Änderung von general.useragent.override in about:config anpassen.
  • Für Opera 6+ können Sie das Browser Identifikation String (browser identification string) durch Menu einsetzen.
  • Für Internet Explorer können Sie User Agent durch Windows Registry ändern.
  • ....
Durch die Verwendung von JavaScript können Sie User Agent anpassen, die nach Server gesendet wird.
JavaScript
navigator.__defineGetter__('userAgent', function() {
    return "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0)"
});
jQuery
$.ajaxSetup({
    beforeSend: function(request) {
        request.setRequestHeader("User-Agent",
             "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0)");
    }
});

12. navigator.javaEnabled()

navigator.javaEnabled() gibt die Wert true zurück, d.h der Browser ermöglicht die Applikation Java zu funktionieren, z.B wie Java Applet. Sie können es durch die Auswahl vom Browser aktivieren (enable) oder deaktivieren (disable).
Im Grunde wenn der Browser entdeckt, eine Applikation Java beginnt zu laufen. Es wird die Genehmigung des Benutzer erfordern.

Anleitungen ECMAScript, Javascript

Show More