C# 集成cefsharp实现javascript回调方法RegisterJsObject

.Net技术 针尖舞 4年前 (2016-09-09) 9632次浏览 0个评论

C# 中集成cefsharp实现javascript回调方法介绍,主要用到RegisterJsObject方法。在构建完WebView webView = new WebView(url)后,即可调用RegisterJsObject方法来注册一个js对象,从而前端的javascript就可以访问这个对象,调用定义的方法。

//在C#中定义类CallbackObjectForJs
public class CallbackObjectForJs{
    public void showMessage(string msg){
        MessageBox.Show(msg);
    }
}
//调用RegisterJsObject方法来注册一个js对象
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回调的时候找不到对应的方法。原因未知

PS:cefsharp是一个用于C#的浏览器控件(Github上的开源项目),C#自带的控件在IE不同版本内核适配的问题上处理起来比较麻烦,如果网页是重度使用javascript,那你可以考虑基于cef的各种浏览器控件,执行效率飙升。cefsharp的github地址:https://github.com/cefsharp/CefSharp


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C# 集成cefsharp实现javascript回调方法RegisterJsObject
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!