Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Webbrowser
3 JavaScript einbauen
4 Programmieren mit JavaScript
5 Datum
6 Zufall
7 Browserinformationen
8 Fenster
9 Formulare
10 Frames und Iframes
11 Grafiken
12 Cookies
13 Objekte und Arrays
14 Ereignisbehandlung
15 Fehlerbehandlung
16 DOM
17 DHTML und CSS
18 AJAX
19 XML
20 Web Services
21 AJAX-Frameworks
22 Plugins
23 Multimedia
24 Java
25 Serverseitige Technologien
26 JavaScript goes .NET
27 Code schützen
28 Top Secret: Passwortschutz
29 Signierte Skripte
30 JavaScript und Sicherheit
31 Navigation
32 Warenkorb
33 JavaScript-Bibliotheken
34 Referenz
35 Quellen im Web
36 Die Zukunft von JavaScript
Index
Download: - ZIP, ca. 9,2 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / JavaScript und AJAX | vor >>
JavaScript und AJAX von Christian Wenz Das umfassende Handbuch
JavaScript und AJAX 839 S., mit DVD, 39,90 Euro Galileo Computing ISBN 3-89842-859-1 |
| Kapitel 22 Plugins
|  | 22.1 Plugins erkennen
|  |  | 22.1.1 Zugriff auf Plugins
|  |  | 22.1.2 Zugriff auf MIME-Typen
|  |  | 22.1.3 Refresh
Die Zuschauer sind in der Multimedia-Gesellschaft das eigentliche knappe Gut. – Dieter Grimm # Kapitel 22 Plugins Die Einbindung von externen Medien auf Webseiten umgeht viele der Beschränkungen von HTML, CSS und JavaScript. Animationen, Musikdateien, spezielle Formate wie PDF oder SVG und sogar Videos sind dank Browser-Plugins möglich. Das wiederum übt auf viele JavaScript-Entwickler eine große Faszination aus. Eine Überprüfung, ob ein Plugin vorhanden ist, ist interessant; der Zugriff auf das Plugin und damit auf eingebettete Medien ist noch wichtiger: Deswegen erläutert dieses Kapitel zunächst, wie Plugins mit JavaScript angesprochen werden, und das folgende Kapitel erläutert die Arbeit mit einigen bekannte(re)n Plugins. ## 22.1 Plugins erkennen Die Unterstützung von Musik beispielsweise ist kein in den Browsercode eingebautes Feature. Stattdessen verwenden beide Browser jeweils ein Plugin. Beim Netscape hieß es LiveAudio, beim Internet Explorer ist es ActiveMovie Control oder der installierte Windows Media Player 6.4, 7.x, 9.0, 10 oder 11 (in neueren Windows-Versionen ist er automatisch auf dem System vorhanden). Die JavaScript-Implementierung des Internet Explorers erkennt keine Plugins, deswegen kann man bei diesem Browser nicht mit JavaScript auf irgendwelche Plugins zugreifen (nur über einige Tricks). Beim Netscape Navigator und auch bei Mozilla-Browsern ist das schon anders. ### 22.1.1 Zugriff auf Plugins Alle Plugins werden beim Netscape und dann auch im Mozilla im Array navigator.plugins gespeichert. Der Internet Explorer kennt dieses Objekt auch, es ist aber leer. Beim Zugriff gibt es also eine Fehlermeldung, und man kann keine Werte abfragen. Jedes Element des navigator.plugins-Arrays ist ein Plugin-Objekt. Es hat die folgenden Eigenschaften:
| name – der Name des Plugins
| description – die Beschreibung des Plugins
| filename – der lokale Dateiname des Plugins
| length – die Anzahl der vom Plugin unterstützten MIME-Typen
Ein MIME-Typ ist eine Art von Identifikator, den der Webserver den Daten voranstellt, die er schickt. Bei HTML-Dateien ist dieser MIME-Typ text/html, bei .js-Dateien sollte er text/javascript sein. Auf ein Plugin kann auf die folgende Art und Weise zugegriffen werden:
    navigator.plugins["Plugin-Name"]
    navigator.plugins[Index].
Wie immer beginnt die Zählung bei null, das dritte Plugin hat also den Index zwei. Die folgende Schleife gibt alle Plugins aus, die im Browser installiert sind:
    function tag(s){
       return "<" + s + ">";
    }
    document.write(tag("table border='1'"));
    for (var i=0; i<navigator.plugins.length; i++) {
       document.write(tag("tr") + tag("td"));
       document.write(navigator.plugins[i].name);
       document.write(tag("/td"));
       document.write(tag("td"));
       document.write(navigator.plugins[i].description);
       document.write(tag("/td"));
       document.write(tag("td"));
       document.write(navigator.plugins[i].filename);
       document.write(tag("/td"));
       document.write(tag("td"));
       document.write(navigator.plugins[i].length)
       document.write(tag("/td") + tag("/tr"));
    }
    document.write(tag("/table"));
Hier klicken, um das Bild zu Vergrößern Abbildung 22.1 Die Plugins im Browser ### 22.1.2 Zugriff auf MIME-Typen Um auf MIME-Typen zuzugreifen, gibt es ebenfalls mehrere Möglich-keiten:
| navigator.plugins["Name"/Index]["Name"]
| navigator.plugins["Name"/Index][Index]
| navigator.mimeTypes["Name"/Index]
Ein mimeTypes-Objekt, also ein Element des Arrays, hat die folgenden Eigenschaften:
| type: Name des MIME-Typs
| description: Beschreibung des MIME-Typs
| suffixes: mögliche Dateiendungen der Dateien des MIME-Typs
| enabledPlugin: boolescher Wert, der angibt, ob es für diesen MIME-Typ ein Plugin im Browser gibt
Mit einer ähnlichen Schleife wie oben lassen sich alle vom Browser akzeptierten MIME-Typen ausgeben. Da dies jedoch in der Regel über hundert sind, müssen Sie es nicht unbedingt ausprobieren. ### 22.1.3 Refresh Von besonderem Interesse ist noch die Methode plugins.refresh(). Mit ihr wird die Liste aller Plugins aktualisiert, und gegebenenfalls werden alle Plugins aktiviert. Nach der Installation eines Plugins kann man diese Methode aufrufen. Ein boolescher Parameter muss übergeben werden. Das hat die folgenden Konsequenzen:
| navigator.plugins.refresh(false): Plugins, die normalerweise aktiv wären, werden nicht aktualisiert oder aktiviert.
| navigator.plugins.refresh(true): Die gesamte Plugin-Liste wird aktualisiert, und alle Plugins werden neu gestartet.
Die letzte Variante wird ebenfalls erreicht, wenn kein Parameter an die refresh()-Methode übergeben wird. Wenn ein Benutzer ein Plugin installieren und den Browser neu starten muss, weil er auf Ihrer Seite war und das Plugin benötigt, so wird er danach nicht unbedingt auf Ihre Seite zurückkommen. Den Neustart können Sie sich aber wie gesagt sparen, wenn Sie navigator.plugins.refresh(true) verwenden. Wie bereits die Netscape-Browser haben auch Mozilla-Browser einen Menübefehl Help N About plug-ins bzw. Hilfe N Über Plug-ins, der Ähnliches leistet; alternativ verwenden Sie die Pseudo-URL about:plugins. In Abbildung 22.2 finden Sie eine Beispielausgabe. Hier klicken, um das Bild zu Vergrößern Abbildung 22.2 Die Plugin-Anzeige eines Mozilla-Browsers Mit diesen Informationen können Sie dann auch feststellen, ob ein bestimmtes Plugin vorliegt: Sie sehen einfach in navigator.plugins nach, ob der entsprechende Eintrag vorhanden ist. Leider funktioniert das wie gesagt nur im Mozilla-Browser. Im Internet Explorer sind alle Plugins ActiveX-Objekte, die wie folgt instanziiert werden würden:
    var obj = new ActiveXObject("NameDesPlugins");
Mittels try/catch können Sie dann überprüfen, ob das funktioniert, beziehungsweise bei einem Fehler entsprechend reagieren:
    try {
       var obj = new ActiveXObject("NameDesPlugins");
       var plugin = true;
    } catch(e) {
       var plugin = false;
    }
<< zurück | <top> | vor >>
Zum Katalog
JavaScript und AJAX bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| JavaScript und AJAX - Das Video-Training
| Webseiten programmieren und gestalten
| XHTML, HTML und CSS
| CSS-Praxis
| AJAX
| PHP 5 und MySQL 5
| TYPO3 4.0
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de