基于Chrome内核(WebKit.net)定制开发DoNet浏览器
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
基于Chrome内核(WebKit.net)定制开发DoNet浏览器的更多相关文章
- 基于Chrome内核(WebKit内核)定制开发DoNet浏览器
1. 源起 a) 定制.Net浏览器 本人是一名C#开发者,而作为C#开发者,做客户端应用中最头痛的一件事就是没有一个好的UI解决方案, WinFrom嘛,效率虽然还不错,但是做一些特殊 ...
- Winform调用WebKitBrowser,基于chrome内核WebKit的浏览器控件
在C#中,默认的WebBrowser控件默认使用的是IE的core,而IE的种种遭人吐槽的诟病使我不敢轻易使用WebBrowser,因此,打算使用Chrome的内核替换IE.Chrome的内核使用的是 ...
- python selenium中如何测试360等基于chrome内核的浏览器
转自:https://blog.csdn.net/five3/article/details/50013159 直接上代码,注意是基于chrome内核的浏览器,基于ie的请替换其中的chrome方法为 ...
- 基于chrome内核的.NET开发资源
chrome Frame: 让IE有一颗chrome的心,看起来不错,但我没有深入研究这个东西. http://www.google.com/chromeframe?hl=zh-CN&quic ...
- 在 .NET 中开发基于 Chrome 内核的浏览器-创建一个简单浏览器
首先在 http://www.cftea.com/tools/downloads/Cef.zip 下载文件包. 一.将文件解压拖入到 Visual Studio 对应的 WinForm 项目中. 二. ...
- 基于QT的webkit与ExtJs开发CB/S结构的企业应用管理系统
一:源起 1.何为CB/S的应用程序 C/S结构的应用程序,是客户端/服务端形式的应用程序,这种应用程序要在客户电脑上安装一个程序,客户使用这个程序与服务端通信,完成一定的 ...
- 基于chrome内核的UXSS
url with a leading NULL byte can bypass cross origin protection. https://code.google.com/p/chromium/ ...
- java-cef嵌入基于Chrome内核浏览器,做页面爬虫(可以尽在ajax异步请求数据)
1 CentOS 7.0 上安装和配置 VNC 服务器 2.1 2.1.1 首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个. 注意:以下命令必须以 root 权限运行. ...
- 基于MFC的ActiveX控件开发教程------------浏览器插件之ActiveX开发
浏览器插件之ActiveX开发(一) 一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题.在有特殊需求(如涉及数据安全的金融业务 ...
随机推荐
- ViewPager+PagerTabStrip实现页面的切换
页面切换效果图 首先创建布局: 代码: <?xml version="1.0" encoding="utf-8"?><LinearLayout ...
- 关于tesseract-ocr3的训练和使用
众所周知,这是一个出色的字符识别软件.这个开源项目可以在http://code.google.com/p/tesseract-ocr/downloads/list下载. 在使用时,建议使用3而不要使用 ...
- C# 获取excel架构并的导入sqlserver的方法
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- install LLVM
version >= 3.8.0 $ cd llvm... $ mv someofClang ./tools $ mkdir build $ cd build $ cmake -DCMAKE_B ...
- 第四十三章 微服务CICD(5)- gitlab + jenkins + docker + dockerregsitry
一.总体流程 部署: 开发机(mac) ip:11.11.11.11 docker:1.12.1 部署机(centos7) ip:10.211.55.4 docker:1.12.3 生产机(cento ...
- JavaWeb 学习008-今日问题(非空验证尚未解决) 2016-12-2
1. 学生模块list页面 不能正常跳转 说是找不到stuid属性,但是我在entity里面和数据库建表的属性就是stuid:Grade模块代码一样,却可以正常运行 这是什么问题? <c:for ...
- 【经验记录】Jconsole Jvisualvm 监控Tomcat
环境:centos 6 1.首先检查hostname是否正确,输入以下命令 hostname -i 如果输出机器ip,则表示正确,如果输出 hostname: Unknown host 查看/etc/ ...
- 无法在Web服务器上启动调试,已附加了一个调试器
运行环境:开发环境:Windows7旗舰版64bit.VisualStudio2008 With SP1.ArcEngine10.0.NetFrameWork4.0.IIS7和C#开发语言. 问题描述 ...
- Windows XP SP3下成功编译CUint2.1-3
软件环境:Visual C++ 6.0 操作系统:Windows XP SP3 从sourceforge.net下载CUint-2.1-3.tar.bz解压出目录CUnit-2.1-3 从CUint打 ...
- LSD-SLAM深入学习(2)-算法解析
前言 在LSD-SLAM深入学习(1)中我们已经完成基本的安装与测试,在此我们继续解析算法与代码,由于lsd-slam本身利用了一部分李群与李代数的知识,需要一定的数学功底. 个人理解错误的地方还请不 ...