我創建了一個新的WPF項目,併爲其添加了一個Awesomium 1.6.3 WebControl。如何使用Awesomium將JavaScript結果返回給C#?
然後,我加入此代碼MainWindow.xaml.cs
:
private void webControl1_Loaded(object sender, RoutedEventArgs e)
{
webControl1.LoadURL("https://www.google.com/");
}
private void webControl1_DomReady(object sender, EventArgs e)
{
var wc = new WebClient();
webControl1.ExecuteJavascript(jQuery);
webControl1.ExecuteJavascript(@"var __jq = jQuery.noConflict();");
webControl1.ExecuteJavascript(@"alert(__jq);");
using(var result = webControl1.ExecuteJavascriptWithResult(@"(function() { return 1; })();"))
{
MessageBox.Show(result.ToString());
}
//using (var result = webControl1.ExecuteJavascriptWithResult(@"(function() { return __jq('a'); })();"))
//{
// MessageBox.Show(result.ToString());
//}
}
它提醒 「1」,然後 「功能(A,B){...}」,這是不按順序,現在我想,不過,這是另一個問題。
只要取消註釋底部代碼,它會提示「1」,然後掛起。爲什麼?我怎樣才能獲得關於頁面上鍊接的一些信息?或可靠地將一些信息傳回C#?或者用C#訪問DOM?
編輯:jQuery
只是一個包含jQuery 1.7代碼的字符串。
將是很好,如果它至少是拋出一個異常,並作了解釋。我想我仍然可以挑選出我想要的屬性,並將其作爲字符串返回,我猜。謝謝你的幫助! – mpen
另外,什麼是用戶創建的對象,它與jQuery對象有何不同? – mpen
這是一個錯誤,它應該立即返回null。我將它添加到我們的待辦事項列表中。 – Adam