SELFHTML/Navigationshilfen JavaScript/DOM Objekt-Referenz |
mimeTypes | |
mimeTypes: Allgemeines zur Verwendung Eigenschaften:
description (Beschreibung eines Mime-Types) |
|
Ü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-Type anzusprechen, stehen folgende Möglichkeiten zur Verfügung:
navigator.mimeTypes[#].Eigenschaft |
navigator.mimeTypes["MimeType"].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-Type-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-Type Typ, also die Kategorie/Unterkategorie, wie Sie sie auch zur Mime-Type-Adressierung mit Hilfe von Indexnamen verwenden können. In der Spalte daneben stehen die zugehörigen Dateiendungen. Daneben steht eine Kurzbeschreibung des Mime-Type, 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 MS Internet Explorer existiert dieses Objekt nur aus Kompatibilitätsgründen und enthält keinen Inhalt.
Speichert die Kurzbeschreibung eines Mime-Typen.
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 es der Mime-Type "application/pdf" existiert. Wenn ja, wird in einem Meldungsfenster die Kurzbeschreibung zum Mime-Type "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.
Der MS Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.
Speichert, ob für einen Mime-Type ein Plugin installiert ist. Wenn kein Plugin verfügbar ist, der Browser jedoch den Mime-Type 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"]) if(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-Type kennt und ob er ein Plugin für VRML-Dateien verfügbar hat. Wenn ja, wird mit Hilfe der write()-Methode dynamisch der HTML-Konstrukt zum Einbinden einer VRML-Datei geschrieben. Anwender, die kein VRML-Plugin haben, bekommen dadurch keine Fehlermeldungen 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-Type-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-Type ein Plugin installiert ist. Wenn ja, wird eine Zeile mit der Kurzbeschreibung des Mime-Types 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 MS Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.
Speichert die typischen Dateiendungen, die zu einem Mime-Type gehören.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> <script language="JavaScript" 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-Type "image/jpeg" fallen.
Im Netscape 6 ist dieses Beispiel nicht nachvollziehbar, da dieser nur die Mime-Typen als eigene Objekteigenschaft speichert, zu denen tatsächlich ein Plugin vorliegt.
Der MS Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.
Speichert die eigentliche Mime-Type-Bezeichnungnach 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-Type-Bezeichnung. So werden am Ende alle dem Browser bekannten Mime-Types aufgelistet.
Der MS Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.
plugins | |
navigator | |
SELFHTML/Navigationshilfen JavaScript/DOM Objekt-Referenz |
© 2001 selfhtml@teamone.de