Benutzer:Parzi/Test
Browser / Navigator
[Bearbeiten]Das Objekt navigator liefert Informationen über den Browser des Anwenders. Dies kann zum Beispiel dazu dienen, browserspezifischen Code zu schreiben, weil nicht alle Browser alle Objekte kennen bzw. gleichartig behandeln. Häufig wird eine sogenannte Browserweiche eingesetzt, um einen Besucher auf eine Seite zu leiten, die für den von ihm gerade verwendeten Browser gut geeignet ist. Die Angaben können jedoch gelegentlich in die Irre führen, weil einige Web-Browser (z. B. Opera und Firefox) entweder von Haus aus oder über Plugins (wie z. B. Firefox IE-Tab) dazu in der Lage sind, sich als anderes Produkt auszugeben.
Im Objekt navigator sind mehrere Eigenschaften, Methoden und Unterobjekte implementiert.
Eigenschaften + Methoden
[Bearbeiten]Achtung: Nicht alle hier aufgeführten Eigenschaften und Methoden werden von allen Web-Browsern verstanden. Am ältesten und nahezu in jedem Browser auslesbar sind appCodeName, appName, appVersion und userAgent. |
Kurze Liste der Eigenschaften und Methoden
[Bearbeiten]Eigenschaftsname | Kurzbeschreibung | |
---|---|---|
appCodeName | der Projekt- oder Spitzname des Browsers. | genauer erläutert |
appName | der Name des Browsers | genauer erläutert |
appVersion | die Browser-Version | genauer erläutert |
browserLanguage | Microsoft Internet Explorer: die Browser-Sprache | genauer erläutert |
cookieEnabled | die Information, ob Cookies erlaubt sind | genauer erläutert |
language | Netscape-Browser: Vom Anwender für den Web-Browser ausgewählte Sprache | genauer erläutert |
onLine | Boolean-Value (true oder false), ob der Browser im Online-Modus ist oder im Cache surft. | genauer erläutert |
platform | die Betriebssystem-Plattform | genauer erläutert |
systemLanguage | Microsoft-Browser: Sprachvoreinstellung (default language) des Betriebssystems | genauer erläutert |
userAgent | die Identifikation des Browsers laut HTTP-Protokoll | genauer erläutert |
userLanguage | Microsoft-Browser: Von Anwender für seinen Computer gewählte Standardsprache | genauer erläutert |
Methodenname | Kurzbeschreibung | |
---|---|---|
javaEnabled() | Wenn vorhanden wird die Java-Virtual-Machine gestartet (deshalb Methode!) und „true" zurückgegeben. | genauer erläutert |
Objektname | Kurzbeschreibung | |
---|---|---|
mimeTypes | MIME-Typen | genauer erläutert |
plugins | Vorhandene Plug-Ins | genauer erläutert |
Anwendungsbeispiel: Eigenschaften lesen
[Bearbeiten]Das Objekt navigator ist direkt verfügbar. Seine Eigenschaften und Methoden können ohne weitere Vorbereitung mit navigator.eigenschaftsName
angesprochen werden.
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JavaScript : Navigator-Object</title> <meta name="author" content="S.Möller"> <script language="JavaScript"> <!-- function fShowNavigator() { m=""; m=m+"Browser-Name : " + navigator.appName + "\n"; m=m+"Browser-CodeName : " + navigator.appCodeName + "\n"; m=m+"Browser-Version : " + navigator.appVersion + "\n"; m=m+"Betriebs-System : " + navigator.platform + "\n"; m=m+"Browser-HTTP-String : " + navigator.userAgent + "\n"; m=m+"Cookies erlaubt : " + navigator.cookieEnabled + "\n"; var bJava=navigator.javaEnabled() m=m+"Java aktiviert : " + bJava + "\n"; alert(m); } //--> </script> <noscript>Bitte schalten Sie JavaScript ein !</noscript> </head> <body onLoad="fShowNavigator()"> <h3>JavaScript : Navigator-Object</h3> </body> </html>
Dieses Programm gibt beispielsweise Folgendes auf den Bildschirm:
Ausgabe im Firefox unter Linux | Ausgabe im Konqueror unter Linux |
---|---|
Die Eigenschaften im Einzelnen
[Bearbeiten]Diverse Eigenschaften
[Bearbeiten]- appCodeName
- Die Angabe des Projekt- oder Spitznamens des Web-Browsers ist in der Praxis so gut wie wertlos, da hier sowohl Netscape-Browser als auch Microsoft-Browser den Wert „Mozilla“ abgelegt halten.
- appName
- der Name des Browsers
- appVersion
- die Browser-Version. Format laut Netscape: NavigatorVersionsNummer (System; Landescode)
- Der Landeskode könne entweder den Wert I für „international release“ annehmen oder den Wert U für „U.S. release“.[1]
- cookieEnabled
- die Information, ob Cookies erlaubt sind
- onLine
- von Microsoft eingeführte Eigenschaft.
- platform
- die Betriebssystem-Plattform
- userAgent
- die Identifikation des Browsers laut HTTP-Protokoll
Genaueres zu den Spracheigenschaften
[Bearbeiten]Microsoft Internet Explorer | Netscape, Firefox und verwandte |
---|---|
browserLanguage Achtung: dies ist eine Eigenschaft, die von Microsoft eingeführt wurde, Browser anderer Hersteller verstehen diese Eigenschaft meist nicht, aber stattdessen für den selben Inhalt navigator.language. |
language Achtung: dies ist eine proprietäre Eigenschaft, die von Netscape eingeführt wurde, d. h. Microsoft-Browser verstehen diese Eigenschaft nicht, aber stattdessen für den selben Inhalt navigator.browserLanguage. |
systemLanguage Achtung: dies ist eine Eigenschaft, die von Microsoft eingeführt wurde, Browser anderer Hersteller verstehen diese Eigenschaft wahrscheinlich nicht. |
ohne Entsprechung |
userLanguage Achtung: dies ist eine Eigenschaft, die von Microsoft eingeführt wurde, Browser anderer Hersteller verstehen diese Eigenschaft wahrscheinlich nicht. |
ohne Entsprechung |
Opera 9.10 kennt browserLanguage, language und userLanguage
Die Methoden im Einzelnen
[Bearbeiten]- javaEnabled()
- Wenn vorhanden wird die Java-Virtual-Machine gestartet (deshalb Methode!) und „true“ zurückgegeben.
Unterobjekte
[Bearbeiten]Die beiden Unterobjekte regeln den Zugriff auf Inhalte, die nicht aus HTML-Dateien bestehen und die Verwaltung von Zusatz-Programmen, die die Fähigkeiten der Browser erweitern.
Mime-Typen / mimeTypes
[Bearbeiten]Der Zugriff auf Multimedia-Dateien wie Bilder, Töne, Videos oder z. B. PDF-Dokumente wird über das Unterobjekt mimeTypes geregelt. „mimeTypes“ ist ein Array und hat folgende Eigenschaften:
- length - die Anzahl der Mime-Typen
- type - die Typenbezeichnung
- description - eine ausführlichere Beschreibung
- suffixes - die mit diesem Typ verknüpften Datei-Endungen
- enabledPlugin - ob eine Plugin für das Handling dieses Typs zur Verfügung steht.
Ein Beispielprogramm verdeutlicht den Zugriff auf dieses Unterobjekt. In einer Schleife werden alle „mimeTypes“ gelistet.
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JavaScript : Navigator-Object: Mime-Types</title> <meta name="author" content="S.Möller"> <script language="JavaScript"> <!-- function fShowMimeTypes() { document.open(); document.write('<table>'); for (var iT = 0; iT < navigator.mimeTypes.length; iT++) { document.write("<tr>"); document.write("<td>" + navigator.mimeTypes[iT].type + "<\/td>"); document.write("<td>" + navigator.mimeTypes[iT].suffixes + "<\/td>"); document.write("<td>" + navigator.mimeTypes[iT].description + "<\/td>"); if (navigator.mimeTypes[iT].enabledPlugin) { document.write("<td>"+navigator.mimeTypes[iT].enabledPlugin+"<\/td>"); } else { document.write("<td>Plugin fehlt<\/td>"); } document.write("<\/tr>"); } document.write("<\/table>"); document.close(); } //--> </script> <noscript>Bitte schalten Sie JavaScript ein !</noscript> </head> <body onLoad="fShowMimeTypes()"> <h3>JavaScript : Navigator-Object: Mime-Types</h3> </body> </html>
Plugins / plugins
[Bearbeiten]Im Unterobjekt plugins werden Erweiterungen des Browsers verwaltet. Auch „plugins“ ist ein Array. Folgende Eigenschaften stehen zur Verfügung:
- length - die Anzahl der Plugins
- name - der Name
- description - eine ausführlichere Beschreibung
- filename - die ausführbare Datei des Plugins
Ein Beispielprogramm verdeutlicht den Zugriff auf dieses Unterobjekt. In einer Schleife werden alle „plugins“ gelistet.
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JavaScript : Navigator-Object: Plugins</title> <meta name="author" content="S.Möller"> <script language="JavaScript"> <!-- function fShowPluginTypes() { document.open(); document.write('<table>'); for (var iP = 0; iP < navigator.plugins.length; iP++) { document.write("<tr>"); document.write("<td>" + navigator.plugins[iP].name + "<\/td>"); document.write("<td>" + navigator.plugins[iP].description + "<\/td>"); document.write("<td>" + navigator.plugins[iP].filename + "<\/td>"); document.write("<\/tr>"); } document.write("<\/table>"); document.close(); } //--> </script> <noscript>Bitte schalten Sie JavaScript ein !</noscript> </head> <body onLoad="fShowPluginTypes()"> <h3>JavaScript : Navigator-Object: Plugins</h3> </body> </html>