cefSharp框架中的C#方法和Web项目中的JS方法相互调用

【1】Web项目中用JS方式调用Cef项目的c#方法:

CEF项目中:

注册C#类为JS对象

browser.RegisterAsyncJsObject("TestJsObject", _thisJsObject, false);

其中:

browser为实例化的ChromiumWebBrowser对象

参数二是被调用的C#类

参数一是c#类对外的名称,

参数三为是否使用驼峰命名法,为false可以在起名时将首字母大写

Web项目中:

<script >
    function GetCef() {
        //cef里注册为JS的C#类【注册的JS名.GetStrThree()为类里的方法名,res为方法的返回值】
        TestJsObject.GetStrThree().then(function(res) {
                alert(res);
            }
        );
    }       
</script>

【2】Cef项目中用使用C#代码调用Web项目中的JS方法:

Web项目中:

    <script >
        function DisplayDate() {
           alert("JS方法");
     
        }
    </script>

Cef项目中:

browser.ExecuteScriptAsync("DisplayDate()");

其中

browser为实例化的ChromiumWebBrowser对象

参数为JS方法名