我正在使用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