CefSharp簡介
CEF ,全稱Chromium Embedded Framework ,基於谷歌 Chromium項目的開源Web Browser控件,它的主要用途是嵌入了第三方應用以實現瀏覽器相關的功能。例如國內的360安全瀏覽器的兼容模式即IE的內核,極速模式即Chromium內核;最近微軟新推出的Microsoft Edge也是基於Chromium開源項目實現的,看起來挺簡潔的。
CEF地址:https://bitbucket.org/chromiumembedded/
而CefSharp是Cef的C#版本,讓Chromium瀏覽器也可嵌入WinForms 和WPF中。
CefSharp地址:http://cefsharp.github.io/
CefSharp用途
關於CefSharp的用途,目前接觸到的有:
1、部署開發的網頁程序:我想B/S項目也不會專門造"輪子"來部署web應用程序;
2、定制開發瀏覽器:國內很多瀏覽器都是基於Chromium來包裝的,如搜狗、360、QQ瀏覽器等;
3、特定的網頁處理:例如網頁爬蟲,除了可以使用強大的Python來做,CefSharp也可完成;
4、客戶端嵌入Web應用:例如項目中開發一套B/S應用,可以直接嵌入C/S中,不必重寫大量代碼。
如下圖所示,為了使用Cesium框架在C/S項目中,在完成Cesium的B/S功能開發后,通過CefSharp可嵌入到C/S中使用。
示例一:使用CefSharp加載百度地圖網頁:
示例二:使用CefSharp加載Cesium球。
CefSharp開發示例
第一步,新建VS項目(目前最新版79需要Framework4.5.2)后,修改平台為X86或X64,Cef有32和64位之分:
第二步,使用NuGet搜索cef,安裝CefSharp.WinForms,其他cef.redist、CefSharp三個將自動安裝,因為它們之間存在依賴關系。
第三步,寫入初始化瀏覽器代碼:
添加引用
using CefSharp; using CefSharp.WinForms;
定義瀏覽器對象
public ChromiumWebBrowser ChromeBrowser;
初始化瀏覽器
//初始化瀏覽器並啟動 public void InitializeChromium() { //參數設置 CefSettings settings = new CefSettings(); Cef.Initialize(settings); //創建實例 chromeBrowser = new ChromiumWebBrowser("https://www.baidu.com"); //添加控件 this.Controls.Add(chromeBrowser); chromeBrowser.Dock = DockStyle.Fill; }
第四步,調試運行,查看效果。