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

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 那就是注册没成功,注意下顺序。

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料