基于Gecko内核的简单浏览器实现
程序员文章站
2022-05-18 22:56:05
分享一个基于Gecko内核的简单浏览器实现过程。 项目需要需要开发一个简单浏览器,由于被访问的网页中有大量Apng做的动画,使用IE内核的webbrowser不能播放,使用基于WebKit和Cefsharp试了一下,播放Apng动画也有问题。 顺便分享一下各个项目地址: CefSharp:https ......
分享一个基于Gecko内核的简单浏览器实现过程。
项目需要需要开发一个简单浏览器,由于被访问的网页中有大量Apng做的动画,使用IE内核的webbrowser不能播放,使用基于WebKit和Cefsharp试了一下,播放Apng动画也有问题。
顺便分享一下各个项目地址:
CefSharp:
WebKit.Net:
Geckofx45:
开发步骤如下:
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);
各种问题都可以看一下: