arrow734 2019-09-26 21:06 采纳率: 0%
浏览 1855

CefSharp75 怎样用JS调用C#

Form cs代码

CefSharpSettings.LegacyJavascriptBindingEnabled = true;

browser.RegisterJsObject("boud", new JsEvent(),new CefSharp.BindingOptions() { CamelCaseJavascriptNames = false }

    public class JsEvent
    {
        public string MessageText { get; set; }
        public void ShowTest()
        {
            MessageBox.Show("this in c#.\n\r");
        }
                public string Hello(string name)
        {
            return "Hello " + name;
        }
        public void ShowTestArg(string ss)
        {
            MessageBox.Show("收到Js参数的调用\n\r"+ss);
        }
    }

js代码

    boud.Hello("aaa").then((r) => {
        alert(r);
    })
            boud.ShowTest()
            加上
            CefSharp.BindObjectAsync("boud");
            也不可以
            都是提示
            boud is not defined
            CefSharp is not defined
  • 写回答

1条回答 默认 最新

  • v空空 2019-09-27 15:47
    关注

    在C#中向浏览器注册object 对象有两种方法
    //异步
    RegisterJsObject
    //同步
    RegisterAsyncJsObject
    对应的前端javascript 调用也是两种方式。

    楼上注册同步方式RegisterJsObject,不适用then回调。
    另外boud is not defined 那就是注册没成功,注意下顺序。

    评论

报告相同问题?