# plugins

plugins: Allgemeines zur Verwendung

### Eigenschaften:

description (Beschreibung eines Plugins)
filename (Dateiname eines Plugins)
length (Anzahl Plugins)
name (Produktname eines Plugins)

## plugins: Allgemeines zur Verwendung

Über das Objekt `plugins`, das in der JavaScript-Objekthierarchie unterhalb des navigator-Objekts liegt, können Sie ermitteln, welche Plugins im Sinne der Netscape-Plugin-Technik der Anwender installiert hat.

Um ein Plugin anzusprechen, stehen folgende Möglichkeiten zur Verfügung:

### Schema 1:

    navigator.plugins[#].Eigenschaft

### Schema 2:

    navigator.plugins["Name"].Eigenschaft

### Erläuterung:

Plugins können Sie auf zwei Arten ansprechen:

- mit einer Indexnummer (wie in Schema 1)
  Bei Verwendung von Indexnummern geben Sie `navigator.plugins` an und dahinter in eckigen Klammern eine Zahl. Sie können allerdings nicht wissen, welche Plugins an welcher Stelle gespeichert sind. Die Verwendung in Verbindung mit Indexnummern ist deshalb nur sinnvoll, wenn Sie beispielsweise in einer Schleife alle verfügbaren Plugins ermitteln.
- mit dem Namen eines Plugins als Indexnamen (wie in Schema 2)
  Dabei notieren Sie wie beim Ansprechen mit Indexnummer hinter `navigator.plugins` eckige Klammern. Innerhalb der eckigen Klammern notieren Sie in Anführungszeichen den Namen des Plugins. Als Namen sind zum Beispiel Werte möglich, die Sie mit der Objekteigenschaft name ermitteln können.

### Beispiel für das Objekt insgesamt:

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.plugins.length; i++) {
      document.writeln("<tr>");
      document.writeln("<td>" + navigator.plugins[i].name + "<\/td>");
      document.writeln("<td>" + navigator.plugins[i].description + "<\/td>");
      document.writeln("<td>" + navigator.plugins[i].filename + "<\/td>");
      document.writeln("<\/tr>");
    }
    document.writeln("<\/table>");
    </script>
    </body></html>

### Erläuterung:

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 Name des Plugins, wie Sie ihn auch bei Plugin-Adressierungen mit Indexnamen benutzen können. In der Spalte daneben steht eine Kurzbeschreibung, und in der letzten Spalte steht, welche Datei auf dem Rechner des Anwenders das Plugin repräsentiert.

### Beachten Sie:

Der Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.

## description

Speichert die Kurzbeschreibung eines Plugins.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    if (navigator.plugins["Java Plug-in"])
      alert(navigator.plugins["Java Plug-in"].description);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel fragt ab, ob ein Plugin mit dem Namen "Java Plug-in" beim Anwender installiert ist (das Beispiel nimmt an, dass der Autor dieses Plugin besitzt und testen möchte, ob er seine Daten zu diesem Plugin einem Anwender zumuten kann). Das Beispiel beschränkt sich darauf, in einem Meldungsfenster die Kurzbeschreibung des Plugins auszugeben, wenn dieses Plugin installiert ist.

## filename

Speichert den Namen der Programmdatei eines Plugins.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    if (navigator.plugins["VDOLive small plugin"] &&
        navigator.plugins["VDOLive small plugin"].filename.indexOf("npsmlvdo.dll"))
      alert("Plugin ist eine Nummer zu klein");
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel ermittelt zuerst, ob ein Plugin mit dem Namen "VDOLive small plugin" beim Anwender installiert ist. Danach fragt das Beispiel ab, ob in dem Eintrag, der den Dateinamen des Plugins speichert, der Wert "npsmlvdo.dll" vorkommt. Wenn ja, wird im Beispiel die Meldung ausgegeben, dass das Plugin eine Nummer zu klein ist.

In der Objekteigenschaft `filename` speichert Netscape den vollständigen Pfadnamen der Datei. Um den eigentlichen Dateinamen abzufragen, wird im Beispiel eine Methode des string-Objekts bemüht, nämlich `indexOf()`.

### Beachten Sie:

Konqueror interpretiert zwar `filename`, kann jedoch das Beispiel nicht darstellen, da das System keine *.dll-Dateinamenendungen für Plugins kennt.

## length

Speichert die Anzahl der Plugins, die der Anwender zu seinem Browser installiert hat.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <b>Folgende Plugin-Dateien sind auf dem Rechner:</b>
    <script type="text/javascript">
    for (var i = 0; i < navigator.plugins.length; ++i)
      document.write("<br>" + navigator.plugins[i].filename);
    </script>
    </body></html>

### Erläuterung:

Das Beispiel klappert in einer for-Schleife alle installierten Plugins ab und schreibt für jedes Plugin eine Zeile mit dem Dateinamen des Plugins. So werden am Ende die verantwortlichen Dateien aller installierten Plugins aufgelistet.

Bei der Definition der for-Schleife dient die Eigenschaft `navigator.plugins.length` als Abbruchbedingung.

### Beachten Sie:

Der Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.

## name

Speichert den Produktnamen eines Plugins.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <b>Folgende Plugins sind installiert:</b>
    <script type="text/javascript">
    for (i = 0; i < navigator.plugins.length; ++i)
      document.write("<br>" + navigator.plugins[i].name);
    </script>
    </body></html>

### Erläuterung:

Das Beispiel klappert in einer for-Schleife alle installierten Plugins ab und schreibt für jedes Plugin eine Zeile mit dem Namen des Plugins. So werden am Ende alle installierten Plugins aufgelistet.

### Beachten Sie:

Der Internet Explorer 5.0 Macintosh Edition interpretiert dieses Beispiel auch.

| Number
| mimeTypes

© 2007 Impressum