本章節介紹CefSetting各種設置
CefExample.Init(osr: false, multiThreadedMessageLoop: multiThreadedMessageLoop, browserProcessHandler: browserProcessHandler);
這個方法就是Cef的初始化設置。裏面有一些設置是已經註釋的,每項設置我也沒有詳細研究,感興趣的朋友可以自己看看代碼和註釋。這裏我只說說幾個比較重要的設置。
//設置語言環境是中文環境
settings.Locale = "zh_CN";
//遠程調試端口
settings.RemoteDebuggingPort = 8088;
//瀏覽器緩存的路徑,可以設置到某個磁盤,默認設置是在軟件運行目錄下面。
settings.CachePath = "cache";
//讓瀏覽器的消息循環在一個單獨的線程中執行,建議設置成true,具體含義看看瀏覽器消息處理。
settings.MultiThreadedMessageLoop = true;
//這個我理解不到,只有看源碼的註釋;
settings.ExternalMessagePump = false;
//獲取本機internet代理設置。
var proxy = ProxyConfig.GetProxyInformation();
switch (proxy.AccessType)
{
case InternetOpenType.Direct:
{
//Don't use a proxy server, always make direct connections.
settings.CefCommandLineArgs.Add("no-proxy-server", "1");
break;
}
case InternetOpenType.Proxy:
{
settings.CefCommandLineArgs.Add("proxy-server", proxy.ProxyAddress);
break;
}
case InternetOpenType.PreConfig:
{
settings.CefCommandLineArgs.Add("proxy-auto-detect", "1");
break;
}
}
//直接註釋掉,因爲這個應用程序已經包含在工程目錄下面
//settings.BrowserSubprocessPath = "..\\..\\..\\..\\CefSharp.BrowserSubprocess\\bin\\" + architecture + "\\Debug\\CefSharp.BrowserSubprocess.exe";
//註冊custom的域名,程序內部資源訪問域名。
//custom://cefsharp/zpy.html這種域名註冊,後續註冊https和test都是使用這種方式,zpy.html就是我自己加載在項目內的html文件。可以使用這種方式用本地html開發圖形界面。模糊B/S程序和C/S程序。
settings.RegisterScheme(new CefCustomScheme
{
SchemeName = CefSharpSchemeHandlerFactory.SchemeName,
SchemeHandlerFactory = new CefSharpSchemeHandlerFactory(),
IsSecure = true //treated with the same security rules as those applied to "https" URLs
//SchemeHandlerFactory = new InMemorySchemeAndResourceHandlerFactory()
});
//在設置最後使用Cef.AddCrossOriginWhitelistEntry(BaseUrl, "https", "cefsharp.com", false);這些域名添加到白名單。
做完這些以後並且設置好ChromiumWebBrowser後就可以使用Application.Run(browser);啓動瀏覽器。