如何有效地检测版本以及当前在浏览器上运行的Silverlight实例的任何可用信息?使用Silverlight进行版本检测
回答
Silverlight控件只有一个IsVersionSupported function,当你给它一个版本号,返回真/假,如:
if(slPlugin.isVersionSupported("2.0")) {
alert("I haz some flavour of Silverlight 2");
你可以像你想检查构建时具体,由于版本字符串可以包括以下所有条件:
- 大 - 各大数
- 轻微 - 次要号码
- 构建 - 内部版本号
- 版本 - 版本号
因此,我们可以检查特定的版本号如下:
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版本号:
alert(navigator.plugins["Silverlight Plug-In"].description);
在我的电脑上显示“2.0.30523.8”。
请注意,可以通过重复遍历所有发布的版本号来蛮力。 Presumably that's what BrowserHawk does - 他们会报告客户端安装的Silverlight版本。
查找范围的Silverlight.js:
我得到这个从http://forums.asp.net/p/1135746/1997617.aspx#1997617这是相同的链接Stu给你。我只是包含了代码片段。
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版本号(跨浏览器平台)。
我写了一篇关于如何解决此问题的文章,并使用JavaScript以编程方式更高效地检测Silverlight主版本号(包括版本3)。
你可以找到的代码和后:
祝你好运!
发现这个网站检测的完整版本silverlight- silverlight version(又名silverlightversion.com)
环境。版本将做你想做的!自Silverlight 2.0以来支持
- 1. 使用YOLO版本2进行测试
- 2. 使用脚本检测DLL版本号
- 3. 旧版本版本检测
- 4. 使用多个Silverlight版本
- 5. 使用PHP检测iOS版本
- 6. 使用Modernizr的检测Internet Explorer版本
- 7. 使用JavaScript检测Windows版本
- 8. 使用VB6检测Internet Explorer版本
- 9. 如何使用C#检测IIS版本?
- 10. 使用Telerik AppBuilder(Cordova.js)检测iOS版本
- 11. 检测使用哪种Guava版本?
- 12. 使用GWT检测浏览器版本?
- 13. 如何使用php检测iOS版本?
- 14. 检测PowerPoint版本
- 15. 检测iOS版本
- 16. 在运行时检测Facebook API版本?
- 17. 使用System.Version进行通用版本化
- 18. 使用jasmine和grunt对多个版本的jquery进行测试
- 19. 使用中级Ruby版本进行测试有意义吗?
- 20. 使用版本控制进行软件测试
- 21. 使用不同版本的宝石进行集成测试
- 22. 使用Kinect V2进行目标检测
- 23. 使用列表进行碰撞检测
- 24. 使用python进行目标检测,scipy
- 25. 使用Kinect进行人脸检测
- 26. 使用OpenCv进行形状检测
- 27. 使用OpenCV进行网格检测
- 28. 使用CGRectIntersectsRect进行碰撞检测
- 29. 使用OpenCV进行水平线检测
- 30. 使用JavaScript进行URL检测
这个解决方案实际上找到了安装插件的确切版本号。 – 2011-02-07 15:17:26