C#Winform將WebBowser控制元件替換為Chrome核心
摘要
由於最近要做一個瀏覽器式的軟體,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,預設的WebBrowser控制元件預設使用的是IE的core,而低版本的IE在JS載入上總是容易有問題,因此,打算使用Chrome的核心替換IE。
準備工作
首先,你要明白Chrome瀏覽器的核心不叫Chrome,而是Webkit,因此,我們只要找到Webkit的專案就好了。
1.下載WebKit的專案bin,網址如下:
2.下載解壓後的目錄結構如下:
3.將bin資料夾下的所有(沒錯!是所有檔案複製),並貼上到專案資料夾下,目標目錄是:專案名/bin/Debug/
4.匯入Webkitbrowser的dll到你的專案中。在VS2015的操作如下(其他的類推):
在Solution Explorer下,選中你的專案名,然後右鍵,選擇Add,然後選擇Reference,如下圖:
5.在彈出的對話方塊裡。選擇Browse -> Browse...,然後選擇你的:專案名/bin/Debug下之前貼上的WebKitBrowser.dll匯入,結果如下圖:
編碼階段
1.你要做的,首先選擇你之前下載的bin目錄下的WebKitBrowser.dll,然後複製,如下圖:
2.在C#的控制元件欄中,自己建一個自定義的C#控制元件欄,例如我的叫WebBrowser,然後在工具欄中貼上剛才複製的dll,最後效果如下圖:
之後你就可以正常使用WebKitBrowser控制元件了。
3.大功告成了,通過這個網站可以測試瀏覽器的核心,網址:http://ie.icoa.cn/
至於執行程式碼,如下給出:
1 private void Form1_Load(object sender, EventArgs e) 2 { 3 webKitBrowser1.Navigate("http://ie.icoa.cn/"); 4 }
下面是配置前和配置後的對比:
配置前:
配置後:
致謝
感謝s_p評論中指出的問題,另外如果你想製作Release版而不是Debug的,你存放的目錄應該是:專案名/bin/release。
補充
感謝園友的指出,WebKitBrowser這個專案目前已經不維護了,隨著.Net版本的提升,也很有可能會出現問題,因此推薦另一個比較好用的CefSharp,具體流程和WebKitBrowser基本一致。
如果有園友想用CefSharp,歡迎檢視這篇文章,講的很詳細,來自codeceo:傳送門在這裡:)