Benutzer:Parzi/Test

Aus Wikibooks

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]

Eigenschaften (nur Lesezugriff)
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
Methoden
Methodenname Kurzbeschreibung
javaEnabled() Wenn vorhanden wird die Java-Virtual-Machine gestartet (deshalb Methode!) und „true" zurückgegeben. genauer erläutert
Unterobjekte
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>

Programm testen

Dieses Programm gibt beispielsweise Folgendes auf den Bildschirm:

Ausgabe im Firefox unter Linux Ausgabe im Konqueror unter Linux
Das Navigator-Objekt unter Linux / Firefox Das Navigator-Objekt unter Linux / Konqueror

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]
Unterschiedliche Sprachabfrage von Microsoft und Netscape
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>

Programm testen

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>

Programm testen

  1. http://www.sbg.ac.at/docu/man/javascript/guide/ref_m-q.html#navigator_object