我有一个运行在许多不同位置的Silverlight应用程序。我想升级到Silverlight 5但不幸的是,我们的几个大型网站都有过时的IT部门,他们正在拖延升级。他们告诉我它至少要比运行Silverlight 5还要早4-6个月。我想知道的是:我可以构建一个Silverlight 4版本的XAP和一个Silverlight 5版本的XAP和然后根据访问我网站的计算机上运行的Silverlight客户端版本加载正确的版本。
这甚至可能吗?我四处搜寻,我没有看到任何指向正确方向的东西,所以我来到这里。
由于
答案 0 :(得分:4)
根据用户拥有的Silverlight插件的版本,当然可以选择加载不同的XAP。关键是使用Silverlight.isInstalled
JavaScript函数。
您需要对用于显示Silverlight应用程序的HTML进行一些小的修改:
id="slObj"
元素添加<object ...>
等ID。<param name="source" value="...">
。此参数的值将在运行时由JavaScript确定。完成后,您可以调用以下函数来加载正确的Silverlight应用程序。我假设您的Silverlight HTML <object>
元素的id
为slObj
:
function loadCorrectSilverlightXAP() {
var slObj = document.getElementById("slObj");
if (Silverlight.isInstalled("5.0.0.0")) {
slObj.source = "URLOfMySilverlight5App.xap";
} else {
slObj.source = "URLOfMySilverlight4App.xap";
}
}