我想使用ScriptableAttribute接收來自Javascript代碼的回調到我的Silverlight主機沒有。我以前看過它,但我無法弄清楚它們是如何做到的。有沒有人有任何想法?由於從Silverlight中的HtmlPage主機接收回調
1
A
回答
3
夠簡單的使用: -
HtmlPage.Window.Invoke("someJavascriptFunc", "Hello", "World");
在託管Silverlight的頁面的JavaScript有: -
function someJavascriptFunc(p1, p2)
{
alert(p1 + ' ' + p2);
}
編輯:Ken是正確的上面是南轅北轍。
比方說你有在Silverlight這樣的功能: -
string GetStuff(string name)
{
return "Hello " + name;
}
現在,您可以使用此功能的JavaScript這樣的: -
HtmlPage.Window.SetProperty("sayHello", new Func<string, string>(GetStuff));
現在的代碼在JavaScript可以簡單地這樣做這個: -
alert(sayHello("Fred"));
0
如果你在使用事件,理論上你可以使用AttachEvent t o訂閱活動。這跟回調不太一樣,但很接近。注意:我還沒有在基於Mozilla的瀏覽器上測試過AttachEvent(其中相應的JS命令是「addEventListener()」而不是「attachEvent()」),並且我無法使AttachEvent()工作即使在IE中也可靠。所以我一直使用[ScriptableMember]屬性,並從JS中調用它。是否有一個你不想使用它的理由? (我很好奇聽到有沒有人有更好的想法。)
+0
更新我的答案是正確的方式。 – AnthonyWJones 2010-09-21 20:23:25
相關問題
- 1. elasticsearch未從本地主機接收
- 2. 從接收機
- 3. 接收JSON回調?
- 4. 從MPI中的任何主機接收數據
- 5. 從回調接收POST信息,Android WebView
- 6. 不要從BeginGetResponse接收回調
- 7. 從主持人接收主機 - 庫存升序 - Ansible
- 8. Silverlight的主機網址
- 9. Silverlight - 如何從IP獲取主機名?
- 10. Socket.IO接收回調值
- 11. 從「編譯後的程序集」調用「主機」回調
- 12. 從手機到調試主機的TCP連接
- 13. Silverlight從處理程序接收響應
- 14. Scraping htmlpage
- 15. 從某些文件主機接收數據的NSUrlconnection問題
- 16. 的Android:從接收機startActivity也啓動主活性(action.MAIN/category.LAUNCHER)
- 17. Silverlight應用程序可以通過一次調用接收多個回調嗎?
- 18. wcf unknownmessage與iis主機接收
- 19. CC3200 SPI從機壞接收
- 20. 啓動從接收機
- 21. 在lawnchair回調中接收錯誤
- 22. android中的回收機制
- 23. 在WPF中託管Silverlight並從Silverlight代碼調用WPF代碼中的服務主機
- 24. 收發郵件從本地主機到本地主機在jsp
- 25. 回調鏈接不工作在本地主機的推特
- 26. 訪問http.get回調內的主機
- 27. Windows邊欄小工具 - 從網絡主機接收列表
- 28. 無法從本地主機接收流星:3000/192.168.1.104:3000
- 29. 從Paypal IPN接收錯誤「無效主機頭」
- 30. 連接從Windows主機
這是相反的方向,我認爲:從SL到JS。我認爲他需要另一種方式,從JS到SL。 – 2010-09-21 16:02:15
@Ken:你說得對哦! – AnthonyWJones 2010-09-21 16:39:52
我以前從未見過這種技術。尼斯。 – 2010-09-22 05:01:12