Welcher Browser wird benutzt und was kann er?


Web-Seiten lassen sich nicht für alle möglichen Browser gleichermaßen gut optimieren. Für den anspruchsvollen Seitengestalter ist es deshalb wichtig, den Browsertyp festzustellen um innerhalb der Präsentation reagieren zu können. Teile der Präsentation werden in Varianten angeboten. Die Auswahl wird von JavaScript vorgenommen, so daß nicht der User mit Fragen genervt werden muß.
Das Objekt, welches die Frage nach dem Browser emöglicht, heißt navigator. Die erfragbaren Eigenschaften der Übersicht, die rechte Spalte zeigt die aktuellen Ergebnisse Ihres Browsers:
Eigenschaften  
appCodeNameinterner Kurzname des Browsers
appNameoffizieller Name des Browsers
appVersionBrowser-Version
cookieEnabledHat der User das Setzen von Cookies erlaubt?
languageSprache des Browsers
platformPlattform, auf der der Browser läuft
userAgentHTTP-Identifikation des Browsers
Methode  
javaEnabled()Java-Verfügbarkeit überprüfen

Die Anzeige der Browserergebnisse wurde mit Einträgen der folgenden Art in die jeweilige Zelle erreicht:

<center><script>document.write(navigator.appCodeName)</script></center>

Welche Plugins sind verfügbar?

Dies ist kein Anfängerproblem!
Plugins sind die Hilfsprogramme, von denen Ihr Browser einige zur Verfügung hat. Man kann die Plugins des eigenen Browsers über eine Menü-Option anzeigen lassen.  Beim Netscape Navigator können diese Informationen auch von JavaScript erfragt werden. Das ist von Vorteil, wenn man für seine Präsentation eines der Plugins benötigt. Fehlt das entscheidende Plugin, kann man auf das Fehlen hinweisen und ggf. eine Downloadadresse anbieten. Schließlich kann man beispielsweise das langwierige Laden einer Musikdatei unterdrücken.
Zum Erfragen nutzt man das Objekt plugin, welches ein Unterobjekt von navigator ist. Die Konsequenz des "Unterobjektseins" ist, daß nach navigator.plugin[#].eigenschaft zu fragen ist. Die eckige Klammer soll andeuten, daß intern ein plugin-Array existiert, welches die gewünschten Informationen enthält, auf das zugegriffen wird.
Die verfügbaren Eigenschaften sind:

descriptionBeschreibung eines Plugins
filenameDateiname eines Plugins
lengthAnzahl Plugins
nameProduktname eines Plugins

Zur Nutzung spare ich mir diesmal ein eigenes Beispiel. Die vorhandenen plugins Ihres Rechners werden mit dem folgenden Script angezeigt:

<script language="JavaScript">
   document.write("<table cellspacing=2 cellpadding=5 width='100%' bgcolor='#ccffff' >");
   for(i=0; i<navigator.plugins.length; i++)
      {
      document.write("<tr>");
      document.write("<td>" + navigator.plugins[i].name.fontsize(2) + "</td>");
      document.write("<td>" + navigator.plugins[i].description.fontsize(2) + "</td>");
      document.write("<td>" + navigator.plugins[i].filename.fontsize(2) + "</td>");
      document.write("</tr>");
      }
     document.write("</table>");
</script>

Wenn unten nichts zu sehen ist, Pech.



Welche Datentypen kennt der Browser?

Das folgende Thema ist der Vollständigkeit halber aufgenommen worden (und weil es so schön funktioniert!)
Datentypen meint hier die Mime-Typen, von denen in HTML schon so etwas wie "text/html" vorkam. Datentypen, in denen man Informationen mitteilen will, muß der Browser kennen, er muß evtl. dafür speziell erforderliche Plugins zur Verfügung haben. Es gibt ein Unterobjekt "mimeTypes" von "navigator", mit dem man zunächst mal erfragen kann, welche Typen dem eigenen (Netscape)- Browser bekannt sind. Andere Browser helfen im Moment hier nicht. Die Eigenschaften von mimeTypes:

descriptionBeschreibung des Mime-Typs
enabledPluginPlugin ansprechbar
lengthAnzahl der verarbeitbaren Mime-Typen
suffixesDateiendungen
typeMime-Type

Beispiel für Aufrufe des Objekts:

<script language="JavaScript">
   document.write("<table cellspacing=2 cellpadding=5 width='100%' bgcolor='#ccffff'>");
   for(i=0; i<navigator.mimeTypes.length; i++)
   {
      document.write("<tr>"); 
      document.write("<td>" + navigator.mimeTypes[i].type.fontsize(2) + "</td>");
      document.write("<td>" + navigator.mimeTypes[i].suffixes.fontsize(2) + "</td>");
      document.write("<td>" + navigator.mimeTypes[i].description.fontsize(2) + "</td>");
      document.write("<td>" + navigator.mimeTypes[i].enabledPlugin + "</td>");
      document.write("</tr>");
   }
   document.write("</table>");
</script>

Es folgt eine Tabelle, die wenn sie folgt, evtl. durch ihre Länge überrascht.