SELFHTML/Navigationshilfen JavaScript/DOM Objektreferenz | |
mimeTypes |
|
mimeTypes: Allgemeines zur Verwendung Eigenschaften:
description (Beschreibung eines MIME-Typs) |
|
Über das Objekt mimeTpyes
, das in der JavaScript-Objekthierarchie unterhalb des navigator-Objekts liegt, können Sie ermitteln, welche Dateitypen der Browser des Anwenders kennt, und ob ein Plugin zum Anzeigen oder Abspielen eines Dateityps vorhanden ist. Lesen Sie zum besseren Verständnis von MIME-Typen gegebenenfalls den Abschnitt MIME-Typen.
Um einen MIME-Typ anzusprechen, stehen folgende Möglichkeiten zur Verfügung:
navigator.mimeTypes[#].Eigenschaft
navigator.mimeTypes["MIME-Typ"].Eigenschaft
MIME-Typen können Sie auf zwei Arten ansprechen:
navigator.mimeTypes
an und dahinter in eckigen Klammern eine Zahl. Sie können allerdings nicht wissen, welche MIME-Typen an welcher Stelle gespeichert sind. Die Verwendung von Indexnummern ist deshalb nur sinnvoll, wenn Sie beispielsweise in einer Schleife alle verfügbaren MIME-Typen ermitteln.navigator.mimeTypes
eckige Klammern. Innerhalb der eckigen Klammern notieren Sie in Anführungszeichen den MIME-Typ-Namen. Dabei gilt die übliche Notation für MIME-Typen, also die Form "Kategorie/Unterkategorie". Als Indexnamen sind zum Beispiel Werte möglich, die Sie mit der Objekteigenschaft type ermitteln können.Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> </head><body> <script type="text/javascript"> document.writeln('<table border="1">'); for (var i = 0; i < navigator.mimeTypes.length; i++) { document.writeln("<tr>"); document.writeln("<td>" + navigator.mimeTypes[i].type + "<\/td>"); document.writeln("<td>" + navigator.mimeTypes[i].suffixes + "<\/td>"); document.writeln("<td>" + navigator.mimeTypes[i].description + "<\/td>"); if (navigator.mimeTypes[i].enabledPlugin) { document.writeln("<td>" + navigator.mimeTypes[i].enabledPlugin + "<\/td>"); } else { document.writeln("<td>kein Plugin<\/td>"); } document.writeln("<\/tr>"); } document.writeln("<\/table>"); </script> </body></html>
Das Beispiel schreibt mit Hilfe der Methode writeln() dynamisch eine Tabelle in die HTML-Datei. In der Tabelle werden alle verfügbaren Plugins aufgelistet. In der linken Spalte steht der MIME-Typ, also die Kategorie/Unterkategorie, wie Sie sie auch zur MIME-Typ-Adressierung mit Hilfe von Indexnamen verwenden können. In der Spalte daneben stehen die zugehörigen Dateiendungen. Daneben steht eine Kurzbeschreibung des MIME-Typs, und in der letzten Spalte steht, ob der Browser ein Plugin besitzt, um Dateien des entsprechenden Typs zu verarbeiten.
Welche Eigenschaften im Objekt mimeTypes
gespeichert sind, ist stark abhängig vom verwendeten Browser. So speichert der Netscape 6 nur tatsächlich vorhandene Plugins als eigene Objekteigenschaft, während Opera 5.12 und Netscape 4 z.B. auch den Type image/jpeg
mit angeben. Im Internet Explorer existiert dieses Objekt nur aus Kompatibilitätsgründen und enthält keinen Inhalt.
Speichert die Kurzbeschreibung eines MIME-Typs.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/javascript"> if (navigator.mimeTypes["application/pdf"]) alert(navigator.mimeTypes["application/pdf"].description); </script> </head><body> </body></html>
Das Beispiel prüft zuerst, ob der MIME-Typ "application/pdf" existiert. Wenn ja, wird in einem Meldungsfenster die Kurzbeschreibung zum MIME-Typ "application/pdf" ausgegeben. Netscape 4.x gibt dabei freilich nicht viel mehr bekannt als "Acrobat", in Opera 5.12 und Netscape 6 wird "Acrobat (*.pdf)" ausgegeben und Safari 1.2 benutzt die Abkürzung "PDF".
Der Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.
Speichert, ob für einen MIME-Typ ein Plugin installiert ist. Wenn kein Plugin verfügbar ist, der Browser jedoch den MIME-Typ kennt, wird der Wert null
gespeichert.
Die Eigenschaft stellt selbst ein Objekt dar. Sie ist dabei eine Art Zeiger auf das entsprechende plugins-Objekt. Hinter der Eigenschaft lassen sich wiederum alle Eigenschaften und Methoden des plugins
-Objekts notieren.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> </head><body> <script type="text/javascript"> if (navigator.mimeTypes["x-world/x-vrml"] && navigator.mimeTypes["x-world/x-vrml"].enabledPlugin != null) document.write('<object data="yzeplin.wrl" width="400" height="300"><\/object>'); </script> </body></html>
Das Beispiel ermittelt, ob der Browser den MIME-Typ kennt und ob er ein Plugin für VRML-Dateien verfügbar hat. Wenn ja, wird mit Hilfe der write()-Methode dynamisch das HTML-Konstrukt zum Einbinden einer VRML-Datei geschrieben. Anwender, die kein VRML-Plugin haben, bekommen dadurch weder Fehlermeldungen noch ein leeres Objektfenster. Solche Anwender bekommen einfach gar nicht mit, dass in der Datei eigentlich eine VRML-Datei referenziert ist.
Speichert die Anzahl der MIME-Typ-Einträge, die der Browser kennt.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> </head><body> <b>Folgende Plugins sind installiert:</b> <script type="text/javascript"> for (var i = 0; i < navigator.mimeTypes.length; ++i) if (navigator.mimeTypes[i].enabledPlugin != null) document.write("<br>" + navigator.mimeTypes[i].description); </script> </body></html>
Das Beispiel fragt in einer for-Schleife ab, ob für den jeweils aktuellen MIME-Typ ein Plugin installiert ist. Wenn ja, wird eine Zeile mit der Kurzbeschreibung des MIME-Typs geschrieben. So werden am Ende alle installierten Plugins mit sprechenden Beschreibungen aufgelistet.
Bei der Definition der for-Schleife dient die Eigenschaft navigator.mimeTypes.length
als Abbruchbedingung.
Der Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.
Speichert die typischen Dateiendungen, die zu einem MIME-Typ gehören.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script type="text/javascript"> if (navigator.mimeTypes["image/jpeg"]) alert(navigator.mimeTypes["image/jpeg"].suffixes); </script> </head><body> </body></html>
Das Beispiel prüft, ob der Browser den MIME-Typ kennt und gibt in einem Meldungsfenster aus, welche Dateiendungen unter den MIME-Typ "image/jpeg" fallen.
Im Netscape 6 und Konqueror 3.1 ist dieses Beispiel nicht nachvollziehbar, da diese Browser nur die MIME-Typen als eigene Objekteigenschaft speichern, zu denen tatsächlich ein Plugin vorliegt.
Der Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.
Speichert die eigentliche MIME-Typ-Bezeichnung nach dem Schema "Kategorie/Unterkategorie".
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> </head><body> <b>Folgende MIME-Typen sind dem Browser bekannt:</b> <script type="text/javascript"> for (var i = 0; i < navigator.mimeTypes.length; ++i) document.write("<br>" + navigator.mimeTypes[i].type); </script> </body></html>
Das Beispiel klappert in einer for-Schleife alle dem Browser bekannten MIME-Typen ab und schreibt jeweils eine Zeile mit der MIME-Typ-Bezeichnung. So werden am Ende alle dem Browser bekannten MIME-Typen aufgelistet.
Der Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.
plugins | |
navigator | |
SELFHTML/Navigationshilfen JavaScript/DOM Objektreferenz |
© 2005 Impressum