Mozilla および Chrome への Silverlight のインストールを求める Silverlight InitParams
-
11-09-2019 - |
質問
ASP.NET ページでの Silverlight コントロールの動作に問題があります。コントロールは IE 内では正常に動作しますが、Mozilla では「Microsoft Silverlight をインストールしてください」というメッセージが表示されます。
何度か試して失敗した後、Mozilla でそのメッセージが表示されるのは、 <param name="InitParams"/>
Silverlight コントロールのパラメータ。パラメータを削除すれば問題ありません。
以前にこの問題が発生した人はいますか?
ASP.NET ページのコード:
<div style="height: 100%; width: 100%;">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
width="100%" height="100%">
<param name="source" value="http://server/domain/ClientBin/MyName.xap" />
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40818.0" />
<param name="autoUpgrade" value="true" />
<param name="EnableGPUAcceleration" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration: none">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" 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>
解決
問題は解決したようです。少なくとも私は問題を理解しました。Silverlight オブジェクトに '/> param がある場合。
InitParams プロパティのサーバー側は、IE でどのような方法でも機能します。しかし、Mozilla では、InitParams プロパティ ( string ) が null または string.empty の場合、Mozilla は Silverlight アプリケーションをレンダリングせず、ダウンロード Silverlight フレームのみをレンダリングします。
.asp ページからの HTML 結果はどのブラウザでも同じであるため、これは非常に奇妙です。とにかく、InitParams に値があれば、すべてがうまく機能しています。したがって、現時点では、これが正しい解決策だと思います。そこにダミーの値を追加するだけです。
他のヒント
これはテストするのが簡単ですが、パラメータ名は InitParams ではなく、 私nitParams。おそらく IE は大文字と小文字の区別がより寛容です。