使用CefSharp在.Net程序中嵌入Chrome瀏覽器
有的時候,我們需要在程序中嵌入Web瀏覽器,其實.Net Framework中本身就提供了WebBrowser控件,本身這個是最簡單易用的方案,但不知道是什么原因,這個控件在瀏覽網(wǎng)頁的時候有些莫名的卡頓,有的時候甚至能達(dá)到好幾秒,嚴(yán)重影響體驗。
這個時候,我們可以考慮使用第三方瀏覽器來代替系統(tǒng)的WebBrowser,常見的方案是使用版本帝Chrome,Chrome本身提供了供第三方程序嵌入的方案Chromium Embedded Framework (CEF),但這個是C++的接口,在.Net程序中使用還是有一定的工作量的。不過目前已經(jīng)有一些開源的項目完成了這一封裝,其中的一個佼佼者就是CefSharp,WPF和WinForm的封裝都實現(xiàn)了,本文就簡單的介紹一下如何在WPF程序中使用CefSharp來嵌入Chrome瀏覽器。
安裝:
安裝的過程非常簡單,只要使用NuGet安裝CefSharp.Wpf即可。
PM> Install-Package CefSharp.Wpf
安裝過程本身比較常規(guī),不過值得一提的是,這個包非常大,由于集成了x86和x64的版本,整個包(加上幾個依賴的包)達(dá)到了200多mb,基于眾所周知的原因,和Nuget的訪問一直不大通暢,有時還抽風(fēng)整個過程非常漫長,一定要有足夠的耐心以及人品。
修改編譯選項:
由于Chrome是原生程序,目前CefSharp還不能做到32位和64位自動識別,不能使用默認(rèn)的AnyCPU的編譯選項,需要修改一下配置管理器,改成x86或x64才行。
使用:
使用的過程比較簡單,直接使用如下代碼即可。
private void MainWindow_Loaded(object sender, RoutedEventArgs e) { var setting = new CefSharp.CefSettings(); CefSharp.Cef.Initialize(setting, true, false); var webView = new CefSharp.Wpf.ChromiumWebBrowser(); this.Content = webView; webView.Address = "http://www.cnblogs.com/TianFang/"; }
參數(shù)設(shè)置
在實現(xiàn)了.Net程序中嵌入Chrome瀏覽器后,下一步的個性化操作就是加入一些設(shè)置了,,我們可以看到在使用Chrome控件前,有如下一個操作:
var setting = new CefSharp.CefSettings(); CefSharp.Cef.Initialize(setting, true, false);
這個setting變量就是用來存放chrome的全局設(shè)置的地方,當(dāng)需要進行設(shè)置的時候,只需要對它進行修改即可。例如,我們要修改緩存目錄,只需要如下設(shè)置即可:
var setting = new CefSharp.CefSettings() { CachePath = Directory.GetCurrentDirectory() + @"\Cache", };
另外,有的設(shè)置是通過啟動參數(shù)傳入的,這些啟動參數(shù)存放在CefCommandLineArgs成員中了,通過字符串的形式傳入。例如,我們要給Chrome程序加一個代理服務(wù)器,則可以修改如下:
setting.CefCommandLineArgs.Add("--proxy-server", "http://127.0.0.1:8877");
到此這篇關(guān)于使用CefSharp在.Net程序中嵌入Chrome瀏覽器的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Asp.net中使用PageDataSource分頁實現(xiàn)代碼
這篇文章主要介紹asp.net中使用PageDataSource分頁的方法,需要的朋友可以參考下2013-04-04asp.net fileupload控件上傳文件與多文件上傳
這篇文章主要介紹了asp.net fileupload控件上傳文件的方法,fileupload控件多文件上傳,以及fileupload上傳時實現(xiàn)文件驗證的方法,需要的朋友可以參考下2014-11-11asp.net下實現(xiàn)輸入數(shù)字的冒泡排序
.net下實現(xiàn)輸入數(shù)字的冒泡排序2010-03-03MVC+EasyUI+三層新聞網(wǎng)站建立 主頁布局的方法(五)
這篇文章主要為大家詳細(xì)介紹了MVC+EasyUI+三層新聞網(wǎng)站建立的第五篇,教大家如何進行主頁布局,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07.net 運用二進制位運算進行數(shù)據(jù)庫權(quán)限管理
.net 運用二進制位運算進行數(shù)據(jù)庫權(quán)限管理 ,需要的朋友可以參考一下2013-02-02