;
クライアント ブラウザに Silverlight プラグインがインストールされていない場合、プログラムは対応する領域にホット スポットのある画像を表示します。ホット スポットは、Microsoft が提供する Silverlight インストール アドレスを指します。理論的には、Silverlight 以外の効果を表示するカスタム コードを指定できますが、Silverlight では、LowSilverlight の場合のように、Silverlight の下位バージョンで表示される効果がデフォルトで提供されません。
Silverlight は自動的に上位互換性を実現します。つまり、下位バージョンでコンパイルされた Silverlight パッケージは上位バージョンで実行できますが、現時点では、上位バージョンでコンパイルされた Silverlight パッケージは下位バージョンでは実行できません。を実行すると、Silverlight プラグインは、プラグインをアップグレードするようにユーザーに通知するデフォルトの画像が表示され、次に示すようにプロンプト ボックスがポップアップ表示されます。
個人的には、このユーザー エクスペリエンスはあまり良くないと感じています。想像してみてください。現在のページに複数の Silverlight プラグインがある場合、複数のプロンプト ボックスが表示されるのではないでしょうか。では、この問題をどうやって解決すればいいのでしょうか?実際、オブジェクト タグをページに直接追加して Silverlight をレンダリングするだけでなく、JavaScript スクリプトを通じて Silverlight を動的に追加することもできます。 Silverlight.js スクリプトには、使用可能な一連のメソッドが用意されています。詳細については、msdn http://msdn.microsoft.com/zh-cn/library/cc838126(v=VS.95) を参照してください。 aspx #isinstalled
そして、スクリプトを通じて Silverlight をページに追加する方法、http://msdn.microsoft.com/zh-cn/library/cc265155(v=VS.95).aspx
msdn では、これらのスクリプト メソッドの使用方法を説明する非常に詳細な例が提供されています。注意すべき点は、Silverlight.js ファイルを使用する場合は、現在の Silverlight バージョンと一致している必要があり、そうでない場合はスクリプト エラーが発生する可能性があるということです。対応する Silverlight.js ファイルは Microsoft の Web サイトからダウンロードできます。デバッグをサポートするバージョンを含め、実際には多くのバージョンが利用可能であることがわかります。
createObject メソッドのパラメーターを使用する場合には、注意する必要がある問題がいくつかあります。
1. パラメータは順番に指定しますが、渡す必要のないパラメータがある場合はnullに置き換えることができます。
2. object タグの親要素である親要素パラメータを指定する必要があります。要素の ID をオブジェクトとして直接渡すこともできますが、この場合は を使用できます。 document.getElementById('elementId') ステートメントは、このパラメーターを置き換えるだけです。
3. param リストは配列を介して渡され、パラメータ名は object タグで使用される名前と一致することができます。
4. イベントリストに対応するページスクリプトがない場合はnull値が渡され、そうでない場合はスクリプトエラーが報告されます。
5. 最後のパラメータコンテキストは、必要がない場合は省略できます。null または空の値を渡す必要はありません。
createObject メソッドを使用すると、Silverlight のレンダリングにページ上の object タグを直接使用するときに、パラメータ リストの altHtml パラメータを通じて Silverlight 以外の効果を指定できることに気づいたはずです。 alt 属性を使用すると、Silverlight 以外の効果を指定できます。これは、HTML コードを object タグに直接挿入するのと同じです。
createObject メソッドを使用すると、lowSilverlight 効果を完全にカスタマイズできます。例を次に示します。
使用Silverlight.isInstalled()方法可以判断客户端浏览器是否已经安装了指定版本的Silverlight插件,如果已经安装了,则使用Silverlight.createObject方法创建Silverlight对象,否则输出自定义的内容。
这里还有一篇文章个人觉得很有用,给大家分享下吧!
http://www.itstrike.cn/Question/Use-JavaScript-to-create-Silverlight-Object-createObject