使用 Silverlight 的 JavaScript API 來判斷使用者是否有安裝 Silverlight 2.0 Runtime。
Silverlight 2.0 推出後,因為 Programming Model 以及工具支援的成熟,我認為以後使用 Silverlight 2.0 或更新版本開發的網站會愈來愈多,或是要導入 Silverlight 做 RIA Solution,不過在讓使用者享受辛勤開發的成果前,得要先讓使用者知道必須要安裝 Silverlight 2.0 Runtime。
因此,在 Silverlight 的 JavaScript API 中有提供一個小函式:isInstalled(),它可以偵測目前使用者有沒有安裝指定版本的 Silverlight Runtime,因此可以利用一個小程式:
<head runat="server">
<script language="javascript" type="text/javascript" src="Silverlight.js"></script>
<script language="javascript">
var requiredSilverlightMinVer = "2.0.31005.0";
function checkSilverlightInstalled() {
if (!Silverlight.isInstalled(requiredSilverlightMinVer)) {
document.getElementById("cmdSignIn").disabled = true;
document.getElementById("labelSilverlightIsInstalled").innerHTML =
"<a href='http://www.microsoft.com/silverlight/resources/install.aspx?v="
+ requiredSilverlightMinVer +
"'>本系統需要 Microsoft Silverlight 2.0,請由此安裝。</a>";
}
}
</script>
</head>
<body onload="checkSilverlightInstalled()">
...
雖然 Silverlight 自己本身在發現使用者未安裝 Silverlight Runtime 時會提示,但若不想讓使用者看到的話,用 API 來判斷可也是個不錯的選擇。