是否可以等待来自window.external.Foo()调用的应答

Is it possible to wait for answer from window.external.Foo() call?

本文关键字:Foo 调用 应答 external window 等待 是否      更新时间:2023-09-26

我在.Net Wrapper(WebBrowser控件)中使用JavaScript我想运行一个.Net函数,等待它返回JavaScript的值,我可以从JS调用函数,但无法等待它返回值,例如,我的JS代码是:

IsConnected = function()
{
        var answer = window.external.IsConnected();
};

我的C#代码是:

[ComVisible(true)]
public class JavaScriptBackEnd
{
    public bool IsConnected()
    {
        if (verifyConnection())
        {
            return true;        
        }
        return false;
    }
}

在C#或JavaScript中,有没有一种方法可以阻止JS函数,直到"IsConnected"函数完成并返回值?

谢谢!

设置Web浏览器控件时,请确保包括以下内容(假设webBrowser是控件的名称):

webBrowser.ObjectForScripting=新的JavaScriptBackEnd(this);

这告诉Web浏览器在哪里查找脚本。