[Winform]WebKit.Net使用


摘要

在項目中使用了cefsharp,最后發現在觸屏電腦上面,如果長按文本內容,會經常性的崩潰,發現是cefsharp的問題,最后也等不及了。然后就換了webkit.net這個開源的瀏覽器內核。

關於webkit

WebKit 是一個開源的瀏覽器引擎,與之相對應的引擎有Gecko(Mozilla Firefox 等使用)和Trident(也稱MSHTML,IE 使用)。
同時WebKit 也是蘋果Mac OS X 系統引擎框架版本的名稱,主要用於Safari,Dashboard,Mail 和其他一些Mac OS X 程序。WebKit 前身是 KDE 小組的 KHTML,WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎來自於 KDE 的 KHTML 和 KJS,當年蘋果比較了 Gecko 和 KHTML 后,仍然選擇了后者,就因為它擁有清晰的源碼結構、極快的渲染速度。Apple將 KHTML 發揚光大,推出了裝備 KHTML 改進型 WebKit 引擎的瀏覽器 Safari。

如何使用

首先需要下載Webkit.Net

官方地址:http://webkitdotnet.sourceforge.net/

下載之后,將bin下的文件拷貝到你的項目Debug下。

添加引用,引用WebKitBrowser.dll

測試

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WebKit;
namespace Wolfy.WebKitDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            WebKitBrowser browser = new WebKitBrowser();
            browser.Dock = DockStyle.Fill;
            browser.Navigate("file:///" + AppDomain.CurrentDomain.BaseDirectory + "www/setting.html");
            this.Controls.Add(browser);
        }
    }
}

結果

總結

最后選擇了webkit.net作為winform內嵌的瀏覽器,首先winform自帶的webbrowser與系統ie相關,兼容性不好。二是cefsharp,在觸屏電腦上有個bug,就是如果長按頁面的文本,就會出現崩潰。另外,安卓內嵌的webview也是基於webkit內核的,所以對觸屏之類兼容性較好,本demo也在觸屏電腦上測試了,沒有cefsharp的長按崩潰的問題。


免責聲明!

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



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