基于Gecko内核的简单浏览器实现

摘要:
分享一个基于Gecko内核的简单浏览器实现过程。项目需要需要开发一个简单浏览器,由于被访问的网页中有大量Apng做的动画,使用IE内核的webbrowser不能播放,使用基于WebKit和Cefsharp试了一下,播放Apng动画也有问题。

分享一个基于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

基于Gecko内核的简单浏览器实现第1张

基于Gecko内核的简单浏览器实现第2张

2、添加Nuget引用

Install-Package Geckofx45 -Version 45.0.34 

正常引用下项目会添加如下的引用,并自动添加Firefox内核文件夹

基于Gecko内核的简单浏览器实现第3张

3、初始化

publicForm1()
{
      InitializeComponent();
      Xpcom.Initialize(Application.StartupPath + "/Firefox");
}

4、创建浏览器对象实现网页浏览

GeckoWebBrowser geckoWebBrowser = newGeckoWebBrowser();
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);

各种问题都可以看一下:

https://bitbucket.org/geckofx/geckofx-45.0/issues

免责声明:文章转载自《基于Gecko内核的简单浏览器实现》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇千人千面、个性化推荐,解读数据赋能商家背后的AI技术为什么我们要在 Sketch 中备份所有 Figma 设计下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux服务器+tomcat+域名+https

1、Tomcat 服务绑定域名的方法 步骤1:将Engine的defaultHost改为自己的域名,默认为localhost 步骤2:将Host的name改为自己的域名,默认为localhost 步骤3:在<Host> 节点下加多一句  这个是项目路径  ,要绝对路径。 配置完毕,这样就可以通过域名访问我们服务器上的项目了。  2、Tom...

mysql_Navicat数据库破解

Navicat Premium 12.1.16.0安装与激活 Navicat Premium 12是一套数据库开发管理工具,支持连接 MySQL、Oracle等多种数据库,可以快速轻松地创建、管理和维护数据库。 Navicat Premium 12简体中文官方下载: https://dev.mysql.com/downloads/mysql/ na...

Nginx上部署HTTPS + HTTP2

  Nginx上部署HTTPS依赖OpenSSL库和包含文件,即须先安装好libssl-dev(或者OpenSSL),且ln -s /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/,然后在编译配置Nginx时要指定--with-http_ssl_module和--with-http_v2_module。另外,若要...

Android Studio 3.0.1 版本包下载

Android Studio 3.0.1 发布了,这是对 Android Studio 3.0 的一个小的更新,包括一般错误修复和性能改进 下载地址: Windows 64 位:https://dl.google.com/dl/android/studio/ide-zips/3.0.1.0/android-studio-ide-171.4443003-w...

安装cfssl证书工具

安装版本 cfssl 1.2 https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 下载安装包 wget http...

Android 上预览 PDF 文件

最近在 手机上要显示 PDF 文件,在搜索引擎上找到了很多方案,大体上有以下几种: 使用提供的在线服务,例如 Google 文档预览服务,mWebView.loadUrl("http://docs.google.com/gview?embedded=true&url="+ pdfUrl); 使用 AndroidPdfViewer,这是一个 Git...