1

多くの異なる場所で実行されている Silverlight アプリケーションがあります。Silverlight 5 にアップグレードしたいのですが、残念ながら、大規模なサイトのいくつかには時代遅れの IT 部門があり、アップグレードを遅らせています。彼らは、Silverlight 5 を実行できるようになるまでに、少なくとも 4 ~ 6 か月はかかるだろうと言っています。次に、サイトにアクセスしているマシンで実行されている Silverlight クライアントのバージョンに基づいて、正しいバージョンをロードします。

これは可能ですか?私は周りを検索しましたが、正しい方向に私を指し示すものは何も見られなかったので、ここに来ました.

ありがとう

4

1 に答える 1

4

ユーザーが使用している Silverlight プラグインのバージョンに応じて、異なる XAP をロードすることを選択することは確かに可能です。重要なのは、Silverlight.isInstalledJavaScript 関数を使用することです。

Silverlight アプリケーションを表示するために使用する HTML にいくつかの小さな変更を加える必要があります。

  • id="slObj"などの IDを Silverlight<object ...>要素に追加します。
  • 要素を削除します<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";
        }
    }
于 2012-08-24T21:27:29.553 に答える