网站首页 博客 CefSharp浏览器与网页端JS交互
一、安装CefSharp包
可以使用NuGet安装CefSharp包,或者直接从网上下载然后添加到项目里面。
二、引入命名空间
using CefSharp; using CefSharp.WinForms;
三、定义公共变量
public ChromiumWebBrowser chromeBrowser;
四、初始化浏览器
//参数设置 CefSettings settings = new CefSettings(); settings.CefCommandLineArgs.Add("--ignore-urlfetcher-cert-requests", "1"); settings.CefCommandLineArgs.Add("--ignore-certificate-errors", "1"); Cef.Initialize(settings); CefSharpSettings.LegacyJavas.c.r.i.p.tBindingEnabled = true; CefSharpSettings.SubprocessExitIfParentProcessClosed = true; //创建实例 chromeBrowser = new ChromiumWebBrowser("http://www.iefeel.com"); var jsEventObj = new JsEvent(); chromeBrowser.Javas.c.r.i.p.tObjectRepository.Register("csObj", jsEventObj, false, new BindingOptions { CamelCaseJavas.c.r.i.p.tNames = false }); //添加控件 this.Controls.Add(chromeBrowser); chromeBrowser.Dock = DockStyle.Fill;
五、定义与JS交互对象
public class JsEvent { public void ShowMessage(string msg) { MessageBox.Show("This message is in C#\n\r" + msg); } }
六、网页JS调用C#方法
try{ csObj.ShowMessage("这是网页端JS发起的调用"); }catch(error){ //do nothing... }