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
在C#中向浏览器注册object 对象有两种方法
//异步
RegisterJsObject
//同步
RegisterAsyncJsObject
对应的前端javascript 调用也是两种方式。
楼上注册同步方式RegisterJsObject,不适用then回调。
另外boud is not defined 那就是注册没成功,注意下顺序。