Silverlight版本检测

Silverlight版本检测,silverlight,browser,ria,Silverlight,Browser,Ria,如何高效地检测版本,以及关于当前在浏览器上运行的实例的任何可用信息?查看silverlight.js: 我从中得到了这个链接,它与我给你的链接相同。我刚刚包括了代码片段 Silverlight.isInstalled = function(d) { var c = false, a = null; try { var b = null; if(Silverlight.ua.Browser == "MSIE") b =

如何高效地检测版本,以及关于当前在浏览器上运行的实例的任何可用信息?

查看silverlight.js:

我从中得到了这个链接,它与我给你的链接相同。我刚刚包括了代码片段

Silverlight.isInstalled = function(d)
{
    var c = false, a = null;
    try
    {
        var b = null;
        if(Silverlight.ua.Browser == "MSIE")
            b = new ActiveXObject("AgControl.AgControl");
        else
            if(navigator.plugins["Silverlight Plug-In"])
            {
                a = document.createElement("div");
                document.body.appendChild(a);
                a.innerHTML = '<embed type="application/x-silverlight" />';
                b = a.childNodes[0]
            }

        if(b.IsVersionSupported(d))
            c = true;
        b = null;
        Silverlight.available = true
    }
    catch(e)
    {
        c=false
    }

    if(a)
        document.body.removeChild(a);
    return c
};
Silverlight.isInstalled=函数(d)
{
var c=false,a=null;
尝试
{
var b=零;
如果(Silverlight.ua.Browser==“MSIE”)
b=新的ActiveXObject(“AgControl.AgControl”);
其他的
if(navigator.plugins[“Silverlight插件”])
{
a=document.createElement(“div”);
文件.正文.附件(a);
a、 innerHTML='';
b=a.childNodes[0]
}
如果(b.IsVersionSupported(d))
c=正确;
b=零;
Silverlight.available=true
}
捕获(e)
{
c=假
}
如果(a)
文件.body.removeChild(a);
返回c
};

Silverlight控件只有一个,当您给它一个版本号时,它会返回true/false,例如:

if(slPlugin.isVersionSupported("2.0")) {
  alert("I haz some flavour of Silverlight 2");
检查生成时,您可以根据需要指定,因为版本字符串可以包括以下所有内容:

  • 少校-少校号码
  • 小调-小调号码
  • build-内部版本号
  • 修订-修订号
因此,我们可以检查特定的内部版本号,如下所示:

if(slPlugin.isVersionSupported("2.0.30523")) {
  alert("I haz Silverlight 2.0.30523, but could be any revision.");
。其想法是,您不应该针对特定版本的Silverlight进行编程。相反,您应该检查客户机是否至少具有verion 1.0或2.0等

也就是说,您可以通过查看Silverlight插件说明在Firefox中获得Silverlight版本号:

alert(navigator.plugins["Silverlight Plug-In"].description);
在我的计算机上显示“2.0.30523.8”


请注意,可以通过迭代所有已发布的版本号来强制执行。-他们将报告客户端安装了哪个版本的Silverlight。

如上述评论所述,目前没有有效的直接方法获取已安装的Silverlight版本号(跨浏览器平台工作)

我写了一篇关于如何解决这个问题并使用JavaScript以编程方式更高效地检测Silverlight主要版本号(包括版本3)的文章

您可以在以下网址找到代码和帖子:


祝你好运

找到了这个检测silverlight的完整版本的站点-(又称silverlightversion.com)

环境。环境版本将执行您想要的操作!自Silverlight 2.0开始支持,仅供参考,此解决方案实际上可以找到已安装插件的确切版本号。