C#將WebBowser控件替換為Chrome內核


摘要

  由於最近要做一個瀏覽器式的軟件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默認的WebBrowser控件默認使用的是IE的core,而低版本的IE在JS加載上總是容易有問題,因此,打算使用Chrome的內核替換IE。

准備工作

  首先,你要明白Chrome瀏覽器的內核不叫Chrome,而是Webkit,因此,我們只要找到Webkit的項目就好了。

  1.下載WebKit的項目bin,網址如下:

  https://sourceforge.net/projects/webkitdotnet/files/WebKit%20.NET%200.x/0.5/WebKit.NET-0.5-bin-cairo.zip/download

  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:傳送門在這里:)

結語

  其實換個內核並沒有那么復雜,勇於嘗試,我想你也一定可以的,有疑問歡迎留言!

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM