我正在使用WPF 3.5SP1 WebBrowser控件來顯示包含一些javascript函數的頁面。 我的程序然後需要調用一個javascript函數,它將進行異步調用。我需要一種方法將異步調用的結果返回給C#,以便我可以處理結果。使JavaScript中的異步事件同步
有沒有一種方法可以讓第一個javascript函數睡眠,直到發生什麼事情(不鎖定瀏覽器)?
編輯:我已經在使用回調函數 - 第2個函數實際上被稱爲「some-async-function-complete」。它在異步事件結束時被調用。現在我需要一種方法將結果導入到C#中。
爲了進一步澄清: C#
var result = WebBrowser.InvokeScript("myscript")
的JavaScript
var result;
function myscript()
{
some-async-function();
/* what goes here? */
/* wait until result != null */
return result;
}
function some-async-function-complete(retval)
{
result = retval;
}
你能否詳細說明一下如何將C#回調傳遞給JS? – 2009-02-06 02:46:18
好 - 快速例子 – Shog9 2009-02-06 03:23:16
甜,這看起來像它會工作。希望WPF不會搞砸了。再次感謝。 – 2009-02-06 03:30:13