一、安装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.LegacyJavascriptBindingEnabled = true;
CefSharpSettings.SubprocessExitIfParentProcessClosed = true;
//创建实例
chromeBrowser = new ChromiumWebBrowser("http://www.iefeel.com");
var jsEventObj = new JsEvent();
chromeBrowser.JavascriptObjectRepository.Register("csObj", jsEventObj, false, new BindingOptions { CamelCaseJavascriptNames = 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...
}
|