2008-09-23 131 views
10

是否有javascript函数可以用来检测当前浏览器中是否安装了特定的silverlight版本?通过javascript检测是否安装了Silverlight

我对Silverlight 2 Beta 2版本特别感兴趣。如果Silverlight插件没有加载,我不想使用Silverlight控件背后的默认方法。

编辑:从链接中接受的答案提供:

包含的Silverlight.js(从Silverlight的SDK)

Silverlight.isInstalled("2.0"); 
+2

请注意,您需要指定次要版本(“.0”)。尝试`Silverlight.isInstalled(“2”)`在Firefox中工作,但在IE中不起作用。 – Husky 2010-12-10 12:45:41

+0

@Husky没有理由不把`.0`放进去,因为它可以在IE中工作,并且像`.1`这样的客户机上安装的任何silverlight子版本在测试`.0时仍然会返回true ` – Blowsie 2013-04-25 13:36:14

回答

0
var hasSilverlight = Boolean(window.Silverlight); 

var hasSilverlight2 = hasSilverlight && Silverlight.isInstalled('2.0'); 

等....

+0

`布尔(window.Silverlight)`仅仅检查页面上Javascript库的存在,而不是Silverlight插件。 – 2014-10-13 13:32:54

0
 if (Silverlight.isInstalled("1.0")) { 
      try { 
       alert("Silverlight Version 1.0 or above is installed"); 
      } 
      catch (err) { 
       alert(err.Description); 
      } 
     } 
     else { 
      alert("No Silverlight is installed"); 
     } 

从这个video

Silverlight.isInstalled始终为true,因此必须提供版本字符串(如“1.0”)才能使其有用。