当前版本的Internet Explorer视Silverlight作为一种 ActiveX 控件。因此,为了确定是否安装了Silverlight ,可以尝试使用Javascript 创建这个 ActiveX。如果创建ActiveX控件失败,可以认为 Silverlight没有安装。
对于其他浏览器像Chrome,Netscape , FireFox,Safari等,可以通过观察浏览器对象数组的Silverlight插件来确定。Silverlight插件安装后名为“Silverlight Plug-In”。
下面示例代码显示如何确定客户端浏览器是否安装Silverlight。
< script language="javascript">
var browser = navigator.appName; // Get browser
var silverlightInstalled = false ;
if (browser == 'Microsoft Internet Explorer' ){
try {
var slControl = new ActiveXObject('AgControl.AgControl' );
silverlightInstalled =true ;
} catch (e){
// Error. Silverlight not installed.
}
}else {
// Handle Netscape, FireFox, Google chrome etc
try {
if (navigator.plugins["Silverlight Plug-In" ]){
silverlightInstalled =true ;
}
}catch (e){
// Error. Silverlight not installed.
}
}
alert(silverlightInstalled);
</ script >