26.
Plug-Ins erkennen (24.04.2000)
Plug-Ins lassen sich prinzipiell leicht über navigator.plugins erkennen. Leider funktioniert
das nur zuverlässig unter Netscape. Der MSIE verwendet als Zusatzkomponenten ActiveX-Controls, sodass
man bei der Abfrage der Plug-In-Anzahl mittels navigator.plugins.length bestenfalls eine Null erhält ...
In diesem Fall ist VBScript eine Alternative, wenn man den Klassennamen des jeweiligen Controls kennt. Das folgende
Beispiel zeigt die Abfrage des PDF-Plug-Ins mit JavaScript für Netscape und VBScript für den MSIE.
Zur Feststellung eines Plug-Ins unter Netscape reicht es aus, alle Plug-Ins zu durchlaufen und den gesuchten
Namen (hier "Adobe Acrobat") zu vergleichen.
Beim IE hingegen wird versucht, eine Instanz der Control-Klasse (hier "PDF.PdfCtrl.1") zu erzeugen.
Gelingt dies, dann ist die erhaltene Fehler-Nummer gleich Null und das gesuchte Plug-In sollte existieren.
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function PDFTestNN()
{
if (navigator.appName=="Netscape")
{
var i, l=navigator.plugins.length;
for (i=0;i<l;i++)
{
if (navigator.plugins[i].name=="Adobe Acrobat")
{
alert("Acrobat-Plug-In ist installiert.");
}
}
}
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE="VBScript" TYPE="TEXT/VBSCRIPT">
<!--
function PDFTestIE()
Dim test
On Error Resume Next
Set test = CreateObject("PDF.PdfCtrl.1")
Set test = nothing
If Err.Number=0 Then MsgBox "Acrobat-Plug-In ist installiert."
end function
'-->
</SCRIPT>
Beide Funktionen können direkt getestet werden:
|