1.    源起

a)     定制.Net浏览器

本人是一名C#开发者,而作为C#开发者,做客户端应用中最头痛的一件事就是没有一个好的UI解决方案, WinFrom嘛,效率虽然还不错,但是做一些特殊的效果,完全应付不来,比如透明控件。比FPS太低有时候界面闪动得厉害。而WPF呢,内用内存又太高,效率有时候跟不上,而且还可能会出现内存泄露!出于以上的原因,博主一直在寻找一个好的UI解决方案,最终选定CEF。(至于CEF是什么我就不解释了,可以百度!),在C#中CEF的一个开源项目,名称叫做CEFGLUE。

b)     加快葬送IE6浏览器的进程

    世界上使用IE6浏览器最多的地方在中国,中国使用IE6浏览器最多的地方在企业中,让他们自己去装个chorme太难了,索性开发个浏览器(其实是浏览器的外壳,并且我们可以做的一个十分绚丽便捷的外壳)给他们,一劳永逸的解决浏览器兼容问题,各种浏览器的CSS hack问题再也不用担心了,甚至公司里前端的职位也可以减少几个了。

c)     更方便的使用更强大的HTML5

    写HTML5的样式,需要考虑各种的浏览器独有的东西,比如:-webkit-transform;-moz-transform;-ms-transform;-o-transform;现在我们只有一个浏览器,根本就不用考虑这些。使用chorme核心能支持更多的HTML5特性。

d)     更快的JS执行引擎V8

    谷歌浏览器JS执行引擎是目前公认的最快的JS执行引擎(没有之一),   执行ExtJs之类的界面库速度非常快(ExtJs也是企业应用中常用的界面脚本库)

e)     WebKit核心

    目前最快的浏览器核心,目前使用面最广的浏览器核心(谷歌浏览器、苹果浏览器都用这个核心),对开发人员最友好的浏览器核心(社区支持很给力)

f)     基本上无版权之忧

    用到的所有技术都是开源的(在天朝基于什么开源协议就不要深究了)

g)     调试JS更方便

    采用谷歌浏览器的调试工具,跟firebug调试JS的方式相似

2.    把CEF配置并正确运行起来

a)     下载Cefglue框架。点我进入官网

点击Source Code,然后进入另一个页面,点击Download

然后再跳到另一个页面,找到最新的版本,点击ZIP下载

b)     接下来就要下载CEF了,在下载CEF之前,我们需要知道该版本的CEFGLUE支持哪个版本的CEF。 我们可以在Commet,提交的信息中看到作者更新到了哪一个版本。

C)下载CEF内核。点我进入官网下载

点击More Versions就可以看到更多版本

d)     把CEFGLUE项目源码解压出来,并用VS打开,打开后,发现有10个项目,有一部分并不是必须的,为了更简单明了,卸载(也可以直接移除)掉一些不必要的项目,只留下如下图的三个,并把CefGlue.Samples.WpfOsr设为启动项目。然后把项目全部改为X86的方式编译,然后.NET版本改为4.0,然后如果CEFGLUE中的项目属性--调试下面的启用Visualstudio承载进程的勾如果是勾上的,请去掉。然后把下载好的CEF内核解压,把Release下面的东西全部复制到CefGlue.Samples.WpfOsr项目的bin/Debug低下。

e)     DEMO就正常运行起来了。。。如下图,是一个浏览器

3.    UI改造

WpfCefBrowser 控件封装了好多浏览器常用的功能函数,比如前进后退等,还支持用C#调用JS函数等好多功能,然后我们就可以根据UI设计师设计的界面进行改造界面了。函数封装截图

本文章根据原作者Xdoudou编纂,原文地址:

http://www.cnblogs.com/xdoudou/p/3748143.html

出处:https://www.cnblogs.com/shanranlei/p/5082904.html

基于Chrome内核(WebKit内核)定制开发DoNet浏览器的更多相关文章

  1. 基于Chrome内核(WebKit.net)定制开发DoNet浏览器

    1.    源起 a)     定制.Net浏览器 本人是一名C#开发者,而作为C#开发者,做客户端应用中最头痛的一件事就是没有一个好的UI解决方案, WinFrom嘛,效率虽然还不错,但是做一些特殊 ...

  2. 基于QT的webkit与ExtJs开发CB/S结构的企业应用管理系统

      一:源起       1.何为CB/S的应用程序       C/S结构的应用程序,是客户端/服务端形式的应用程序,这种应用程序要在客户电脑上安装一个程序,客户使用这个程序与服务端通信,完成一定的 ...

  3. 基于MFC的ActiveX控件开发教程------------浏览器插件之ActiveX开发

    浏览器插件之ActiveX开发(一) 一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题.在有特殊需求(如涉及数据安全的金融业务 ...

  4. 将webkit内核封装为duilib的浏览器控件

    转载请说明出处,谢谢~~ 原本的duilib是自带浏览器控件的,但是使用了IE内核,我在做仿酷狗音乐播放器时,在右侧乐库要用到浏览器控件,而我使用自带的IE控件却发现了不少缺点,这也是duilib一直 ...

  5. 八大Webkit内核浏览器

    列举出时下最流行的Webkit内核浏览器,所以我们并不会做出评测和对比.PS:本文列举的浏览器有一部分为IE+Webkit双核浏览器,如果您对其他IE内核浏览器很感兴趣<抛弃数据!用体验和感觉告 ...

  6. 基于chrome内核的.NET开发资源

    chrome Frame: 让IE有一颗chrome的心,看起来不错,但我没有深入研究这个东西. http://www.google.com/chromeframe?hl=zh-CN&quic ...

  7. 【ShoppingWebCrawler】-基于Webkit内核的爬虫蜘蛛引擎概述

    写在开头 在各个电商平台发展日渐成熟的今天.很多时候,我们需要一些平台上的基础数据.比如:商品分类,分类下的商品详细,甚至业务订单数据.电商平台大多数提供了相应的业务接口.允许ISV接入,用来扩展自身 ...

  8. python selenium中如何测试360等基于chrome内核的浏览器

    转自:https://blog.csdn.net/five3/article/details/50013159 直接上代码,注意是基于chrome内核的浏览器,基于ie的请替换其中的chrome方法为 ...

  9. WebKit内核分析之Page

    参考地址:http://blog.csdn.net/dlmu2001/article/details/6213377 注:本系列博客是在原博主博客基础上增加了自己的理解和片段,可以看源博文获得清晰的结 ...

随机推荐

  1. Xcode7.2真机测试问题"The account 'appleID ' has no team with ID ‘’

     在Xcode7(测试版)提出免费真机测试的时候,我立刻在网上搜寻测试步骤,很简单,按照步骤走就可以. 但在7.2以后,突然我的iPhone不能真调了!提示"The account 'app ...

  2. Java实现RSA加密&AES加密&DES加密

    RSA package com.demo; import org.springframework.util.StringUtils; import javax.crypto.Cipher; impor ...

  3. 如何获取文件夹下所有文件名称(windows)

    1. win+R -> cmd 打开dos命令窗口 2. 打开需获取文件名的位置 3. 获取名称 命令格式:dir /b >> 文件目标盘符:\文件夹位置(可省略)\目标名称.目标后 ...

  4. java网站架构演变过程

    网站架构演变过程. .传统架构.传统的SSH架构,分为三层架构web控制层.业务逻辑层.数据库访问层..传统架构也就是单点应用,就是大家在刚开始初学JavaEE技术的时候SSH架构或者SSM架构,业务 ...

  5. pytest_01-环境准备与入门

    前言 首先说下为什么要学pytest,在此之前相信大家已经掌握了python里面的unittest单元测试框架,那再学一个框架肯定是需要学习时间成本的. 刚开始我的内心是拒绝的,我想我用unittes ...

  6. cas sso docker部署service

    cas协议: 1. 拉取镜像 docker pull apereo/cas:${tag} 2. 启动容器 docker run --name cas -p : -p : apereo/cas:v5.3 ...

  7. 将整个 project 资源打包

    <build> <finalName>bootstrap</finalName> <sourceDirectory>${basedir}/src/mai ...

  8. Ubuntu中安装(升级)GraphicsMagick

    1 前言 采用官方下载安装包然后强制安装升级Ubuntu中有的老版本gmagick-1.3.28,升级到gmagick-1.3.31 仅用来记录使用. 2.准备工作 1.下载安装包 https://s ...

  9. fulltext全文索引的使用

    Fulltext全文索引 Fulltext相关属性 查看数据库关于fulltext的配置 SHOW VARIABLES LIKE 'ft%'; -- ft就是FullText的简写 ft_boolea ...

  10. JavaScript原型链以及Object,Function之间的关系

    JavaScript里任何东西都是对象,任何一个对象内部都有另一个对象叫__proto__,即原型,它可以包含任何东西让对象继承.当然__proto__本身也是一个对象,它自己也有自己的__proto ...