是否可以從WP7應用程序中的WebBrowser控件中加載的Javascript中訪問本地Windows Phone Silverlight C#/ .NET對象?從WP7 WebBrowser控件中的Javascript中調用.NET對象
4
A
回答
12
不是直接的,但WebBrowser中的JavaScript可以通過使用window.external.notify
異步調用應用程序。該應用程序可以使用WebBrowser.ScriptNotify
事件檢測這些通知,並使用WebBrowser.InvokeScript
回撥javascript。
這是一個(未經測試的)例子。
HTML:
<html>
<head>
<script type="text/javascript">
function beginCalculate()
{
var inputValue = parseInt(document.getElementById('inputText').value);
window.external.notify(inputValue);
}
function endCalculate(result)
{
document.getElementById('result').innerHTML = result;
}
</script>
</head>
<body>
<h2>Add 5 to a number using notify</h2>
<div>
<input type="text" id="inputText" />
<span> + 5 =</span>
<span id="result">??</span>
</div>
<input type="button" onclick="beginCalculate()" />
</body>
</html>
應用:
/// <WebBrowser x:Name="Browser" ScriptNotify="Browser_ScriptNotify" />
private void Browser_ScriptNotify(objec sender, NotifyEventArgs e)
{
int value = Int32.Parse(e.Value);
string result = (value + 5).ToString();
// endCalculate can return a value
object scriptResult = Browser.InvokeScript("endCalculate", result);
}
0
如果您正在使用WP7的WebBrowser連接到遠程網站(並且情況必然如此,並且WP7不託管Web服務器),您也可以從普通桌面測試Web應用程序。
通常,如果您需要在客戶端(JavaScript)和服務器端(您的案例中的C#)之間進行通信,具體取決於具體上下文和需求,您可以使用一些不同的技術,例如Page Methods
頁面方法)。
這是我的理解,WP7瀏覽器介於IE8和IE9之間,稍微有限的JavaScript引擎相比,這兩者,但像頁面方法這樣的基本應該工作,然後我會首先從普通PC然後從手機並驗證是否有效,以及是否有什麼破裂。
相關問題
- 1. 從C#中的WebBrowser控件調用JavaScript#
- 2. WP7 webBrowser控件中的Javascript錯誤!
- 3. 從wp7的Webbrowser控件中刪除Cookies
- 4. 在WebBrowser控件中調用.NET Compact Framework的JavaScript函數
- 5. Javascript的Window.Opener對象.NET上的WebBrowser控件的新窗口
- 6. WindowForms中的.NET WebBrowser控件
- 7. HTML在WP7不WebBrowser控件
- 8. 從webBrowser控件捕獲httpresponse對象
- 9. 如何在WinForms中的WebBrowser控件中調用JavaScript?
- 10. .NET WebBrowser控件中的HtmlDocument.InvokeScript問題
- 11. 傳遞的JavaScript Date對象C#WebBrowser控件使用的window.external
- 12. MVVM中的WP7 WebBrowser
- 13. 如何使用InvokeScript()從.NET WebBrowser控件調用jQuery函數?
- 14. 在WebBrowser控件調用任意JavaScript
- 15. 如何在WP7的WebBrowser控件中使用JQuery的POST方法
- 16. 調用位於WPF WebBrowser控件中的Javascript函數時發生錯誤C#代碼中的WebBrowser控件
- 17. 帶背景圖像的WP7 WebBrowser控件?
- 18. 訪問WP7 WebBrowser控件的HTML內容
- 19. 在WP7中禁用不透明的WebBrowser控件
- 20. 的Javascript window.open和WebBrowser控件調整
- 21. 如何在webbrowser控件中啓用javascript?
- 22. 在WinForms WebBrowser控件中禁用JavaScript?
- 23. .net WebBrowser控件修改html?
- 24. 替代WebBrowser控件.Net C#?
- 25. .NET WebBrowser控件和刷新
- 26. 從WebBrowser控件調用按鈕,點擊
- 27. wp7 webbrowser控件不導航到uri
- 28. WebBrowser控件WP7 Youtube重定向
- 29. WebBrowser控件WP7不能打開頁面
- 30. WP7 WebBrowser控件不顯示滾動條
我很抱歉,如果我的問題是不明確的,但我的意思是在WP7應用程序代碼內,其WebBrowser控件是訪問C#對象放置。我的目標是在用戶在WebBrowser控件內部觸發Javascript事件時觸發自定義的WP7事件。 – thunderboltz
JavaScript在瀏覽器中工作,C#駐留在服務器上。你如何想象打破網絡瀏覽器和外部世界之間的界限?您是否將瀏覽器嵌入到SL WP7應用程序中? –
是的,瀏覽器在SL WP7應用程序中。 – thunderboltz