javascript检测是否安装silverlight

ie视silverlight为一种activex控件,因此可以试着用javascript创建这个activex,如果创建失败可以认为没有安装silverlight;对于其他浏览器如firefox等,可以通过观察浏览器对象数组的silverlight插件,silverlight安装后叫Silverlight Plugs-In

<script type="text/javascript">

function TestSilverlight() {

var browser = navigator.appName;

if (browser == "Microsoft Internet Explorer") {

try {

var slControl = new ActiveXObject('AgControl.AgControl');

alert('您已经安装了silverlight');

} catch (e) {

alert('没有安装silverlight');

}

} else {

try {

if (navigator.plugins('Silverlight Plug-In')) {

alert('您已经安装了silverlight');

}

} catch (e) {

alert('没有安装silverlight');

}

}

}

</script>

将此javascript方法写在承载silverlight的页面中,然后可以在silverlight的xaml页面的后台代码中调用此方法如

System.Windows.Browser.HtmlPage.Window.Invoke("TestSilverlight");