如何有效地检测版本,以及有关当前在浏览器上运行的Silverlight实例的任何可用信息?
Silverlight控件只有一个IsVersionSupported函数,当你给它一个版本号时返回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 1.0 Beta包含一个control.settings.version属性,该属性已替换为isVersionSupported()方法.这个想法是你不应该针对特定版本的Silverlight进行编程.相反,你应该检查客户端是否至少有 verion 1.0或2.0等.
话虽这么说,您可以通过检查Silverlight插件描述获取Firefox中的Silverlight版本号:
alert(navigator.plugins["Silverlight Plug-In"].description);
在我的电脑上显示"2.0.30523.8".
请注意,可以通过迭代所有已发布的版本号来强制它.据推测,这就是BrowserHawk所做的 - 他们会报告客户端安装了哪个版本的Silverlight.