silverlight,javascript相互調用方法
1,在silverlight調用javascript函數
用System.Windows.Brower命名空間下的某些silverlight類,你可以調用一段腳本寫的javascript函數。這樣就給你的silverlight代碼一個很有規律的方式來和頁面交互。
比如:你在HTML頁面中有下邊一段javascript函數
function createText(message,user) { var el = document.getElementById("myElement"); el.innerHTML = user+" "+message;}
silverlight要調用這個javascript函數,首先用HtmlWindow.GetProperty()方法并把javascript的名字傳進去來得到一個ScriptObjcet對 象,然后在調用ScriptObjcet對象的InvokeSelf()方法。調用InvokeSelf方法時,可以把javascript函數的所有參 數都傳進去。
效果
2,在javascript中調用silverlight方法
在javascript中調用silverlight方法,主要有以下步驟:
1)在silverlight程序中創建一個公開的方法來暴露你想在web頁面中用的函數。
2)在方法上邊添加一個ScriptableMember屬性。
3)在包含這個方法的類上添加ScriptableType屬性。
4)調用HtmlPage.RegisterScriptableObject()將這個方法暴露給javascript。
注冊一個腳本化類型時需要指定一個名稱并傳遞一個合適對象的引用,上邊例子中InvokeMethod被注冊時的名稱為page.這樣就告訴 silverlight在web頁面的silverlight控件中創建了另一個叫page的屬性。想調用這個方法,javascript需要找到 silverlight控件,獲取到它的內容然后調用它的page.ChangeText()方法。
默認情況下,VS會自動添加一個測試頁面,并給包含<object>元素的DIV一個名稱,但是并沒有給包含在里邊 的<object>對象名稱。你需要自己添加一個名稱以方便獲取<object>對象,上邊例子中 的<object>對象名字為myEle。
調用javascript函數
效果
調用前 調用后
3,瀏覽器中實例化silverlight對象
和上邊一樣需要創建一個包含ScriptableMember方法的ScriptableType的類
調用javascript
效果
新聞熱點
疑難解答
圖片精選