1

我有一个跨许多不同位置运行的 Silverlight 应用程序。我想升级到 Silverlight 5,但不幸的是,我们的几个大型站点都有过时的 IT 部门,这些部门正在拖延升级。他们告诉我至少需要 4-6 个月才能运行 Silverlight 5。我想知道的是:我可以构建我的 XAP 的 Silverlight 4 版本和我的 XAP 的 Silverlight 5 版本吗?然后根据访问我的站点的计算机上运行的 Silverlight 客户端版本加载正确的版本。

这甚至可能吗?我四处搜寻,没有看到任何指向正确方向的东西,所以我来到了这里。

谢谢

4

1 回答 1

4

根据用户拥有的 Silverlight 插件的版本,当然可以选择加载不同的 XAP。关键是使用Silverlight.isInstalledJavaScript函数。

您需要对用于显示 Silverlight 应用程序的 HTML 进行一些小的修改:

  • 添加一个 ID,例如id="slObj"您的 Silverlight<object ...>元素。
  • 删除元素<param name="source" value="...">。此参数的值将在运行时由 JavaScript 确定。

完成后,您可以调用如下函数来加载正确的 Silverlight 应用程序。我假设您的 Silverlight HTML元素<object>具有idslObj

    function loadCorrectSilverlightXAP() {
        var slObj = document.getElementById("slObj");
        if (Silverlight.isInstalled("5.0.0.0")) {
            slObj.source = "URLOfMySilverlight5App.xap";
        } else {
            slObj.source = "URLOfMySilverlight4App.xap";
        }
    }
于 2012-08-24T21:27:29.553 回答