ページには 2 つのバージョンがあります。1 つはユーザーが Silverlight をインストールしているかどうかを示し、もう 1 つはインストールしていない場合に表示します。
最初のページを表示し、そうでない場合は 2 番目のページにリダイレクトします。
これに対する答えは、onSilverlightError 関数でここに示されています。
しかし、これは私にはうまくいきません。これを示すjs1.bizにテスト サイトをセットアップしました。SL がインストールされていない場合は、Install Image が表示されます。ただし、ユーザーを js1.biz/SLNotINstalled.htmlにリダイレクトしたいと考えています。
問題は、ユーザーを SLNotInstalled.html にアクセスさせる方法です。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>RedirectIfSLNotInstalled</title>
<style type="text/css">
html, body {
height: 100%;
overflow: auto;
}
body {
padding: 0;
margin: 0;
}
#silverlightControlHost {
height: 100%;
text-align:center;
}
</style>
<script type="text/javascript" src="Silverlight.js"></script>
<script type="text/javascript">
function onSilverlightError(sender, args) {
window.location.assign("http://js1.biz/SLNotInstalled.html");
}
</script>
</head>
<body>
<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/RedirectIfSLNotInstalled.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="5.0.61118.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.61118.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
</a>
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
</body>
</html>
グレッグ