外部連携

JavaScriptの呼び出し

 HtmlPage.Window.Invokeメソッドによって、呼び出せます

JavaScriptからの操作

ホスト側

<!-- Silverlightから公開されたオブジェクトを操作するJavaScript -->
<script type="text/javascript">
   function Button1_onclick() {
       //  プラグインのインスタンスを取得します。
       var hostElement = document.getElementById("silverlightControlHost");
       var plugin = hostElement.childNodes[0];
       //  プラグインのインスタンスが取得出来たら、
       //  Silverlightから公開されたオブジェクトにアクセスします。
       if (plugin != null) {
           plugin.Content.SLObj.SilverlightMethod("JavaScriptから呼び出されました。");
       }
   }
</script>

<div id="silverlightControlHost">
   <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
	  <param name="source" value="Sample.xap"/>
	  <param name="onError" value="onSilverlightError" />
	  <param name="background" value="white" />
	  <param name="minRuntimeVersion" value="4.0.50401.0" />
	  <param name="autoUpgrade" value="true" />
	  <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
			  <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Microsoft Silverlight の取得" style="border-style:none"/>
	  </a>
  </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>

Silverlight側

//JavaScriptから呼び出せすクラスを作成
public class ClientScriptInterface
{ 
	public void Register(string scriptKey)
	{
		//	スクリプトでアクセスできるようにマネージ オブジェクトを登録します。
		HtmlPage.RegisterScriptableObject(scriptKey, this);
	}

	//	スクリプトから利用可能なメンバを定義します。
	[ScriptableMember]
	public void SilverlightMethod(string message)
	{
		//実際の処理
	}
}

Appクラス

private void Application_Startup(object sender, StartupEventArgs e)
{ 
	//	スクリプトから呼び出せるように登録します。
	this.scriptObject.Register("SLObj");
}


超多機能のアクセス解析が永久無料!

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結解除 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:47:33 (1627d)

e[NȂECir Yahoo yV LINEf[^[Ōz500~`I
z[y[W ̃NWbgJ[h COiq@COsیI COze