C#winform中使用Cef的ChromiumWebBrowser内嵌谷歌内核,超级好,cs和bs的结合

一个winform的项目涉及到内嵌浏览器的功能,完成后,特整理了使用过程中的一些方法的应用及出现问题的解决方法:
1、包:下载cef的相关包,重点的引用是
在这里插入图片描述
截取了部分,去网上下载,挺方便的。
2、初始化调用本地的html文件,将webbrowser放到Form中的panel里面:

  string url = (AppDomain.CurrentDomain.BaseDirectory + @"Test.html");
  ChromiumWebBrowser webview = new ChromiumWebBrowser(url);
  webview.Dock = DockStyle.Fill;
  plMap.Controls.Add(webview);

3、网页加载完成后触发进行某些操作:

//绑定:
webview.FrameLoadEnd += webview_FrameLoadEnd;
//方法:
private void webview_FrameLoadEnd(object sender, FrameLoadEndEventArgs e)
{
    //To Do SomeThing
}

使用这个方法,如果在加载完成的方法中,有涉及到Form中的控件,应该会弹出现成如下错误: 在这里插入图片描述
解决方法,在Form的load中,添加这句话:

Control.CheckForIllegalCrossThreadCalls = false;

4、在winform中调用js方法及给js中的变量赋值操作:

webview.ExecuteScriptAsync(“jsFunction('val1','val2')");
webview.ExecuteScriptAsync("val3='hello world!'");

5、在js中调用winform方法:

//在winform中注册js方法,js方法名为jsObj,JSEvnet为方法类
webview.RegisterJsObject("jsObj", new JSEvent(), false);
//在js中使用注册的方法
var jsObj.getData(str1,str2);

以上为全部涉及到的操作,如果有其他问题,欢迎大家留言讨论~~~~

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆意飞扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值