WebKit.net是對WebKit的.Net封裝,使用它.net程序可以非常方便的集成和使用webkit作為加載網頁的容器。這里介紹一下怎么用它來顯示一個網頁這樣的一個最簡單的功能。
第一步:
下載WebKit.net 的bin文件。別小看這一步,你不一定能下載成功,原因你懂的。
WebKit.net 的主頁是http://webkitdotnet.sourceforge.net/
直接下載0.5版本的windows bin文件地址為:https://sourceforge.net/projects/webkitdotnet/files/WebKit%20.NET%200.x/0.5/WebKit.NET-0.5-bin-cairo.zip/download
第二步:
新建一個WindowsForms工程。
然后把下載好的webkit.net bin目錄下的所有文件復制到新建工程的bin/Debug/目錄下。
添加引用,通過瀏覽添加對“WebKitBrowser.dll”的引用。
第三步:
來寫寫代碼了。雙擊Form1的窗體進入代碼,寫下這幾行代碼:
private void Form1_Load(object sender, EventArgs e) { WebKit.WebKitBrowser browser = new WebKitBrowser(); browser.Dock = DockStyle.Fill; this.Controls.Add(browser); browser.Navigate("http://www.lixin.me"); }
運行看看效果:
與IE內核的WebBrowser對比:
非常簡單的三步就完成了。可是話說回來了,時下都流行一步到位的,例如使用System.Windows.Forms.WebBrowser 。
使用.Net框架自帶的,調用IE內核的WebBrowser來顯示網頁也許更簡單些,只需要在新建的工程中寫下這么幾行代碼便可:
private void Form1_Load(object sender, EventArgs e) { WebBrowser browser = new WebBrowser(); browser.Dock = DockStyle.Fill; this.Controls.Add(browser); browser.Navigate("http://www.lixin.me"); }
運行起來的效果看起來差不多,肉眼基本只能看出字體稍微不同而已:
既然都差不多,那為什么還不厭其煩的去下載幾個M的dll來顯示網頁呢?這是因為如果使用IE內核的WebBrowser我們無法預知對網頁的顯示效果,例如你的電腦是xp,可能會調用ie6作為加載器,如果是win7,可能會調用ie8作為加載器,而他們的顯示效果是不完全一樣的。下面用一個例子來看看。
http://css3.zxq.net/doraemon/doraemon_css3.html 這個頁面是用來測試瀏覽器對css3的支持程度的。現在我們分別用2個方法來顯示這個頁面。
private void Form1_Load(object sender, EventArgs e) { WebBrowser browser = new WebBrowser(); browser.Dock = DockStyle.Fill; browser.Navigate("http://css3.zxq.net/doraemon/doraemon_css3.html"); splitContainer1.Panel1.Controls.Add(browser); WebKit.WebKitBrowser kitBrowser = new WebKitBrowser(); kitBrowser.Dock = DockStyle.Fill; kitBrowser.Navigate("http://css3.zxq.net/doraemon/doraemon_css3.html"); splitContainer1.Panel2.Controls.Add(kitBrowser); }
效果圖如下:
本機的系統是win7+IE9,但是通過WebBrowser調用,估計仍然使用的是IE8內核,所以顯示效果很差。
通過這樣左右對比,可以看出多了一步麻煩,是有必要的。