CefSharp访问和操纵页面上的内容,可以以编程方式执行 JavaScript 并将其嵌入到页面中,并在触发JavaScript事件时接收回调。您可以使用CefSharp显示使用HTML5构建的嵌入式UI,或显示远程Web内容和Web应用程序。本文主要介绍.NET(C#)中, 使用CefSharp时设置默认语言(Loacal)和userAgent的浏览器标识方法,以及设置的示例代码。

1、设置CefSharp默认语言

efsharp是不错的浏览器内核封装版本之一,默认语言是en-US,这个一直困扰着项目,项目好多处需修改,后来经多次尝试,才发现,原来设置默认语言这么简单。 Loacal 属性就是对CefSharp运行语言环境进行设置

var setting = new CefSharp.CefSettings();
// 设置语言
setting.Locale = "zh-CN";
CefSharp.Cef.Initialize(setting, true, false); 
//以上这段代码一定要在new ChromiumWebBrowser之前调用

CefSharp运行要求:

.net framework 环境和 vc++ 2013 runtime (x86/x64)

2、设置CefSharp网页接受语言Accept-Language

1) 设置浏览器的请求控制器

 webView.RequestHandler = new RequestHandler(); 

2) 新建RequestHandler类继承IRequestHandler接口,实现方法OnBeforeResourceLoad。

public bool OnBeforeResourceLoad(IWebBrowser browser, IRequestResponse requestResponse)
{
IDictionary<string, string> headers = requestResponse.Request.GetHeaders();
headers.Add("Accept-Language", "zh,zh-cn,zh-tw");
requestResponse.Request.SetHeaders(headers);
return false;
}

3、设置使用CefSharp请求网页的userAgent

var setting = new CefSharp.CefSettings();  
setting.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36";
CefSharp.Cef.Initialize(setting, true, false);

相关文档:

https://github.com/cefsharp/CefSharp/wiki/Quick-Start

.Net(C#) cefsharp Chrome 浏览器控件后台执行Iframe中的Js代码的方法