首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Silverlight进行版本检测

使用Silverlight进行版本检测
EN

Stack Overflow用户
提问于 2008-08-21 18:30:50
回答 6查看 8.8K关注 0票数 11

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

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-08-25 21:31:54

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

代码语言:javascript
复制
if(slPlugin.isVersionSupported("2.0")) {
  alert("I haz some flavour of Silverlight 2");

在检查构建时,您可以尽可能地具体,因为版本字符串可以包括以下所有内容:

  • 主要版本-主版本号
  • 次要版本-次要版本号
  • build -构建版本号

因此我们可以检查特定的内部版本号,如下所示:

代码语言:javascript
复制
if(slPlugin.isVersionSupported("2.0.30523")) {
  alert("I haz Silverlight 2.0.30523, but could be any revision.");

Silverlight 1.0 Beta included a control.settings.version property, which was replaced with the isVersionSupported() method。这个想法是,你不应该针对特定版本的Silverlight进行编程。相反,您应该检查客户端是否至少安装了1.0或2.0等版本。

也就是说,您可以通过查看Silverlight插件描述来获取Firefox中的Silverlight版本号:

代码语言:javascript
复制
alert(navigator.plugins["Silverlight Plug-In"].description);

在我的电脑上显示'2.0.30523.8‘。

请注意,可以通过迭代所有已发布的版本号来暴力强制它。Presumably that's what BrowserHawk does -他们会报告客户端安装了哪个版本的Silverlight。

票数 7
EN

Stack Overflow用户

发布于 2008-08-21 18:42:24

这是我从http://forums.asp.net/p/1135746/1997617.aspx#1997617得到的,和Stu给你的链接是一样的。我只是包含了代码片段。

代码语言:javascript
复制
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
};
票数 2
EN

Stack Overflow用户

发布于 2009-09-22 15:24:56

我发现这个网站可以检测到完整版的silverlight- silverlight version (又名silverlightversion.com)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档