1. 程式人生 > >C# 用“WebKit.NET”封裝核心瀏覽器

C# 用“WebKit.NET”封裝核心瀏覽器

由於Google Chrome採用了WebKit核心,由此使得WebKit核心瀏覽器的人氣迅速攀升。對於龐大的webkit開源程式,普通程式設計師一般無需接觸。通過WebKit.NET,我們也可以開發一些簡單的瀏覽器。WebKit.NET 是一個 C# 的元件封裝了 WebKit 瀏覽器引擎,通過它可以在 .NET 應用中簡單的使用 WebKit 瀏覽器引擎。

    使用方法也很簡單,首先到 http://webkitdotnet.sourceforge.net/ 下載webkit.net編譯好的dll檔案(Win32 Binary ),目前最新的是 2010-08-28 釋出的 0.5 版本。     然後把WebKitBrowser控制元件拉進工具箱:VS工具--》選擇工具項--》.NET Framework元件--》瀏覽--》選擇“WebKitBrowser.dll”,這時WebKitBrowser就應該出現在左側的公共控制元件裡了。使用的時候直接拖曳到窗口裡使用即可,WebKitBrowser的使用方法和IE的核心webbrowser類似。
WebKitBrowser簡單用法 1、訪問某個網頁。
webKitBrowser1.Navigate("http://www.piaoyi.org"); 2、載入網頁完成時。
 private void webKitBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
        textBox1.Text = webKitBrowser1.Url.ToString ();
}
WebKit.NET核心瀏覽器
     需要注意的問題:
1、webkit目前只有32位版本的,因此如果你是64位windows系統,將無法正常使用。為了相容,需要將除錯平臺的cpu選擇為 X86(vs預設是 any cpu)。
2、需要把從網上下載下來的一大堆dll檔案放在輸出目錄裡,和 最終的可執行檔案 sample.exe 放在一個目錄裡,不能放在其他資料夾或子目錄,否則 WebKit 出錯。 3、如果出錯,檢查引用裡是否引用了 WebKit.Interop and WebKitBrowser.      飄易認為的 WebKit.net 封裝的 bug。 1、開啟新視窗時的bug。
在事件 private void webKitBrowser1_NewWindowCreated(object sender, NewWindowCreatedEventArgs args)  和 private void webKitBrowser1_NewWindowRequest(object sender, NewWindowRequestEventArgs args) 裡都無法正常獲取新的 url 。
        private void webKitBrowser1_NewWindowCreated(object sender, NewWindowCreatedEventArgs args)
        {
            webKitBrowser1 = args.WebKitBrowser;
        }         private void webKitBrowser1_NewWindowRequest(object sender, NewWindowRequestEventArgs args)
        {
            MessageBox.Show(args.Url); 
        }