Window Navigator

Window Navigator – Informationen über den Browser

Javascript window.navigator liefert Informationen über den Browser wie die Geolocation als Latitude und Longitude, mit cookieEnabled ob Cookies beim Besucher aktiviert sind oder nicht, ob die Seite online besucht wird oder im Cache liegt, die eingestellte Sprache mit language und Informationen zum Browser selbst.

Was auf dem ersten Blick aussieht, als wäre es eine Hilfe beim Erkennen des Browsers, enthält keine zuverlässigen Informationen.

Verschiedene Browser können nahezu identische Namen anzeigen, einige Browser identifizieren sich nicht, um Tests zu entgehen oder die Statistik aufzumischen und die Version des Betriebssystems hinkt häufig hinterher.

Wer mit Javascript den Browser des Nutzers ermitteln will, darf sich auf die Informationen aus dem Navigator-Objekt nicht verlassen. Aber meistens wollen wir auch gar nicht wissen, welcher Browser anliegt, sondern ob der aktuelle Browser bestimmte Eigenschaften unterstützt: Feature Detection.

Seit geraumer Zeit ist Feature-Detection mit Modernizr die zuverlässige Quelle No 1. In Zukunft führt die Abfrage der vom Browser unterstützten Eigenschaften vorzugsweise über die CSS @supports-Regel.

CSS @supports ist nicht auf die Anwendung im CSS beschränkt, sondern Javascript hat ein elegantes Äquivalent

if (CSS.supports("display", "flex")) { 
 …
}


	

CSS.supports wird von allen modernen Browsern unterstützt, aber nicht von IE bis einschließlich IE11.

Feature Detection

Auf der Basis von eigenen Tests kann Javascript Browsern mit speziellen Eigenschaften Extras anzubieten. So werden ältere Browser nicht durch Fehler blockiert oder die Eigenschaften können durch ein Polyfill nachgerüstet werden .

if("geolocation" in navigator) {
   navigator.geolocation.getCurrentPosition(function(position) {
      …
}) } else {
      …
}

window.navigator

window.navigator kann mit oder ohne den Präfix window geschrieben werden.

Die Angaben aus dem navigator-Objekt sind »read only« – können nur gelesen werden.

Wenn doch einmal alle Browser so hormonisch wirken würden wie beim appCodeName! Ob IE, Opera, Safari oder Firefox: appCodeName ist immer Mozilla im stillen Gedenken an den Urvater aller grafischen Browser.

Eigenschaften / Methoden von von window.navigator

Eigenschaft Beschreibung
* appCodeName Der Code-Name des Browsers. So ziemlich alle Browser nennen sich „Mozilla“
* appName Der einfache Name des Browsers – liefert Netscape für IE11, Chrome, Safari, Firefox
* appVersion Die Versionsnummer und weitere Versionsinformationen über den Browser – alle mehr oder weniger zu nichts nützlich.
* battery Batterie-Status (Ladezustand) des Geräts
* cookieEnabled gibt zurück, ob Cookies im Browser aktiviert oder ausgeschaltet sind.
geolocation navigator.geolocation.getCurrentPosition gibt den Standort zurück, wenn der Benutzer den Zugriff ausdrücklich erlaubt:
  • coords.latitude
  • coords.longitude
  • coords.altitude
  • coords.accuracy
  • coords.altitudeAccuracy
  • coords.heading Grad Abweichung von Nord
  • coords.speed Meter pro Sekunden
  • timestamp ein Date-Objekt
* language Sprache des Browsers
* mimeTypes gibt ein Array mit den Dateitypen zurück, die vom Browser unterstützt werden.
* onLine Gibt zurück, ob die Seite online oder aus dem Cache des Browsers aufgerufen wird – wichtige Frage in Anwendungen, die mit dem Manifest arbeiten.
* platform Die Hardware-Plattform. Erscheint z.B. als Win32 or MacPPC und beinhaltet keinen Hinweis auf die Version des Betriebssystems.
* plugins Sammlung der im Browser installierten Plugins
* product Produktname der Browser-Engine
* storage Gibt ein StorageManager-Objekt zurück – gedacht für die Verwaltung des verfügbaren Speichers.
* userAgent Ein String mit der Versionsnummer, dem Betriebssystem und – außer bei Internet Explorer – die vorgegebene Sprache des Browsers
* javaEnabled() Java (nicht Javascript!) im Browser aktiviert?
Navigator – Informationen über den Browser Oceanic Navigator