cefsharp实现javascript回调C#方法

在构建完WebView webView = new WebView(url)后,便可调用RegisterJsObject方法来注册一个js对象,从而前端的javascript就能够访问这个对象,调用定义的方法。javascript

public class CallbackObjectForJs{
    public void showMessage(string msg){
        MessageBox.Show(msg);
    }
}

WebView webView = new WebView("http://localhost:8080");
webView.RegisterJsObject("callbackObj", new CallbackObjectForJs());

前端页面javascript代码便可访问对象 callbackObj。前端

<script type="text/javascript">
    callbackObj.showMessage('message from js');
</script >

 注意:CallbackObjectForJs的showMessage方法首字母不能使大写,否则javascript回调的时候找不到对应的方法。缘由还在分析中。。。java

 PS:cefsharp是一个用于C#的浏览器控件(开源),C#自带的控件在IE内核适配的问题上处理起来有点麻烦,同时若是网页是重度使用javascript,那你能够考虑基于cef的各类浏览器控件,执行效率飙升。cefsharp的github:https://github.com/cefsharp/CefSharpgit

相关文章
相关标签/搜索