forklarer lige lidt mere...
problemet er (som sædvanlig) Internet Explorer. De andre browsere tillader at man tjekker hvilke plugins er installeret. Dat kan man ikke for IE. Her bruger man i stedet et vbscript. Så man ender med at spille noget javascript og noget vbscript sammen. Men du kan se hvordan han gør det. Her er den centrale stump af koden som jeg endte med at bruge den:
var i_mediaplayer;
var v_mediaplayer;
var i_quicktime;
var v_quicktime;
var i_realplayer;
var v_realplayer;
var i_realone;
var v_realone;
var i_realplayerg2;
var v_realplayerg2;
var i_realplayerplus;
if (navigator.plugins) {
for (var i=0; i < navigator.plugins.length; i++) {
if (navigator.plugins[i].name.toLowerCase().indexOf("windows media player") >= 0) {
i_mediaplayer = true;
}if (navigator.plugins[i].name.toLowerCase().indexOf("quicktime") >= 0) {
i_quicktime = true;
v_quicktime = navigator.plugins[i].name.substring(17, navigator.plugins[i].name.length);
}if (navigator.plugins[i].name.toLowerCase().indexOf("realone player") >= 0) {
i_realone = true;
v_realone = navigator.plugins[i].description;
}if (navigator.plugins[i].name.toLowerCase().indexOf("realplayer") >= 0) {
i_realplayer = true;
i_realplayerg2 = true;
}if (navigator.plugins[i].name.toLowerCase().indexOf("realjukebox") >= 0) {
i_realjukebox = true;
}
}
}
if(Gecko&&i_mediaplayer==true){
v_mediaplayer=1;
try {
if (window.GeckoActiveXObject) {
i_mediaplayer_viamo = new GeckoActiveXObject("WMPlayer.OCX.7");
v_mediaplayer = i_mediaplayer_viamo.versionInfo;
}
} catch(e) {
//alert(e);
}
}
Det sidste tjek er med henblik på Netscape 7.1 der kan embedde Window Media Player som activeX object. Dertil kommer så vbscript-et der ser sådan ud:
<script type="text/vbscript"><!--
Rem DETTE SCRIPT ER FRA:
http://gemal.dk/browserspy/ - TAK TIL HENRIK GEMAL(c)
on error resume next
set tmp = CreateObject("MediaPlayer.MediaPlayer.1")
if IsObject(tmp) then
i_mediaplayer = true
v_mediaplayer = tmp.versionInfo
end if
if not v_mediaplayer then
set tmp7 = CreateObject("WMPlayer.OCX.7")
if IsObject(tmp7) then
i_mediaplayer = true
v_mediaplayer = tmp7.versionInfo
end if
end if
Function UnpackVersionNumber(n)
UnpackVersionNumber = (((n And &HF0000000) / &H10000000) & "." & ((n And &HFF00000) / &H100000) & "." & ((n And &HFF000) / &H1000) & "." & (n And &HFFF))
End Function
i_realplayer = IsObject(CreateObject("RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)"))
set tmp = CreateObject("rmocx.RealPlayer G2 Control")
if (IsObject(tmp)) then
i_realplayer = true
i_realplayerg2 = true
i_realplayerplus = tmp.GetIsPlus
v_realplayer = tmp.GetVersionInfo
end if
set tmp = CreateObject("IERPCtl.IERPCtl.1")
if (IsObject(tmp)) then
i_realone = true
v_realone = UnpackVersionNumber(tmp.RealPlayerVersion)
end if
// --></script>
Og når du så skal videre med at anvende hvad der er fundet, bruger du så disse variabler. Altså f.eks. if(i_mediaplayer==true) så et eller andet osv.