分享一個基於Gecko內核的簡單瀏覽器實現過程。
項目需要需要開發一個簡單瀏覽器,由於被訪問的網頁中有大量Apng做的動畫,使用IE內核的webbrowser不能播放,使用基於WebKit和Cefsharp試了一下,播放Apng動畫也有問題。(CefSharp最新版本已經解決動畫問題,但有時候比例會有一點點問題)
順便分享一下各個項目地址:
CefSharp:https://github.com/cefsharp/CefSharp
WebKit.Net: https://github.com/webkitdotnet/webkitdotnet
Geckofx45:https://www.nuget.org/packages/Geckofx45/45.0.34
開發步驟如下:
1、新建WinFrom項目
項目Framework版本必須是4.5,目標平台要選32位X86


2、添加Nuget引用
Install-Package Geckofx45 -Version 45.0.34
正常引用下項目會添加如下的引用,並自動添加Firefox內核文件夾

3、初始化
public Form1() { InitializeComponent(); Xpcom.Initialize(Application.StartupPath + "/Firefox"); }
4、創建瀏覽器對象實現網頁瀏覽
GeckoWebBrowser geckoWebBrowser = new GeckoWebBrowser(); geckoWebBrowser.Navigate("http://www.baidu.com/"); geckoWebBrowser.Dock = DockStyle.Fill; this.Controls.Add(geckoWebBrowser);
PS:
實現網頁縮放比例:
var cv = Xpcom.QueryInterface<nsIDocShell>(geckoWebBrowser.WebBrowserFocus).GetContentViewerAttribute(); cv.SetFullZoomAttribute(0.8);
各種問題都可以看一下:
