本文转载自:http://www.cnblogs.com/liulun/archive/2013/04/20/3031502.html

一:

上一篇的链接:

基于.net开发chrome核心浏览器【一】

二:

相关资源介绍:

chrome Frame:

  让IE有一颗chrome的心,看起来不错,但我没有深入研究这个东西。

http://www.google.com/chromeframe?hl=zh-CN&quickenable=true

https://developers.google.com/chrome/chrome-frame/

WebKit.Net

  已经有一段时间没人更新这个开源项目了,没有研究过

  http://sourceforge.net/projects/webkitdotnet/

CEF

  研究过,很不错的类库,但是是C和C++写的

  https://code.google.com/p/chromiumembedded/

  http://www.cnblogs.com/think/archive/2011/10/06/CEF-Introduce.html(园友谭振林写的相关文章)

Xilium.CefGlue

  基于CEF,用.net包装过,很不错,我就用的这个类库(Xilium.CefGlue/3)

  https://bitbucket.org/xilium/xilium.cefglue/wiki/Home

O.N.E

  国内的人开发的,没研究过,貌似收费的。

http://www.one-lab.net/

node-webkit

  园子里的人开发的,非常不错的点子,node和chromium的结合,赞

  https://github.com/rogerwang/node-webkit/

  http://www.cnblogs.com/zhchbin/

qt

  我在这方面花费了大量的时间和精力,结果是一个坑跟着一个坑,但到现在还是不忍放弃

  http://qt-project.org/downloads

open-webkit-sharp

  园友推荐的,我大概看了一下介绍,感觉很不错的样子!

  https://code.google.com/p/open-webkit-sharp/

另外

这里说到的很多资源都是园友在上一篇文章中提到的。

谢谢你们。

三:

CEF有两个版本,CEF1和CEF3

CEF1是单进程的,实现了更多的特性,内存使用更少,与客户端应用更能完美的结合,使用的是WebKit的API,但是FLASH无法在这个框架中正常播放,不支持html5的音频和视频,只支持NPAPI插件。关于NPAPI插件的相关知识,请参阅这里:http://developer.chrome.com/extensions/npapi.html(好像要FQ)

CEF3是多进程的,使用异步消息的方式来完成主进程和其他进程的通信(其他进程有可能是Webkit,也有可能是V8的解析引擎进程),使用的是chromium官方的内容呈现API,支持NPAPI和PPAPI插件,有一个单独的进程用于调试,相对于CEF1来说,虽然可以播放FLASH等视频,但是还有很多问题没有处理掉,社区里的人认为CEF1更稳定一些,CEF3的issues列表,请参阅这里:https://code.google.com/p/chromiumembedded/issues/list

我们选用的是CEF3和Xilium.CefGlue,Xilium.CefGlue是对CEF项目的.net的包装,它是用P/Invoke的方式来调用CEF类库的,请参见:https://bitbucket.org/xilium/xilium.cefglue/wiki/Home

还有一个CEFSharp的项目,是用C++/CLI的方式来调用CEF类库的,请参见:https://github.com/chillitom/CefSharp

四:

下载最新版的CEF的动态链接库

下载地址为:http://xilium.bitbucket.org/cefglue/

一定要在这个页面来下载!因为只有这个页面给出的动态链接库才是Xilium.CefGlue所支持的

目前看到的是3.1353.1236版本(我没有下载debug版本的)

五:

下载最新的Xilium.CefGlue代码

下载地址:https://bitbucket.org/xilium/xilium.cefglue/overview

右侧点“下载”就可以了

六:

把下载到的两个压缩包都解压缩

把\cef_binary_3.1453.1236_windows_xilium\Release目录里的文件复制出来

粘帖到:\xilium-xilium.cefglue-50e94efc4182\CefGlue.Demo.WinForms\bin\Debug目录下

七:

打开\xilium-xilium.cefglue-50e94efc4182\目录下的解决方案文件

把CefGlue.Demo.WinForms设为启动项目

  注意事项:

  1.

把程序集CefGlue.Demo.GtkSharp卸载掉,

这个程序集是给mono平台用的,你也可以把WPF相关的程序集也卸载掉

  2.

  右键单击CefGlue.Demo.WinForms程序集,点属性,选择调试,

  取消选中“启用visual studio承载进程”,

  因为CEF3是基于多进程的,VS无能力承载,所以只有取消掉这个选项

  3.

  右键单击CefGlue.Demo.WinForms程序集,点属性,选择生成,把目标平台改成X86

  (这一项如果编译不通过再来修改也无碍)

八:

编译并执行,

你就可以看到CefGlue为你写的DEMO了。

你如果嫌这个DEMO里的代码比较复杂

你也可以看看CefGlue.Client这个程序集

这个程序集是个比较简单的DEMO,

你也可以按照上面的步骤让这个DEMO跑起来

九:

上面的DEMO看起来是这个样子的:

在这个DEMO的samples菜单中有几个简单的示例

这给开发者提供方便的,开发者在写自己的程序时,经常会看这几个DEMO

但几个DEMO实在是太少了。

十:

打开cef_binary_3.1453.1236_windows_xilium目录中的工程文件

(这才是CEF项目,前面说的是基于CEF开发的CefGlue项目)

编译并运行

你会看到一个类似这样的界面:

这个DEMO中,主菜单中的test是为开发人员准备的DEMO

明显比CefGlue要多一些!

如果你有一些C和C++功底(不用很高)也能看懂这里的例子

十一:

说实在的,这个项目还是有挺多的坑的,我已经碰到了好几个

基于.net开发chrome核心浏览器的更多相关文章

  1. 基于.net开发chrome核心浏览器【七】

    这是一个系列的文章,前面六篇文章的地址如下: 基于.net开发chrome核心浏览器[六] 基于.net开发chrome核心浏览器[五] 基于.net开发chrome核心浏览器[四] 基于.net开发 ...

  2. 基于.net开发chrome核心浏览器【四】

    原文:基于.net开发chrome核心浏览器[四] 一: 上周去北京出差,给国家电网的项目做架构方案,每天都很晚睡,客户那边的副总也这样拼命工作. 累的不行了,直接导致第四篇文章没有按时发出来. 希望 ...

  3. 基于.net开发chrome核心浏览器【三】

    原文:基于.net开发chrome核心浏览器[三] 本篇我们讲解怎么用CefGlue开发一个最简单的浏览器 一: CefGlue是建立在Cef项目之上的,Cef项目是C/C++的项目:CefGlue只 ...

  4. 基于.net开发chrome核心浏览器【二】

    原文:基于.net开发chrome核心浏览器[二] 一: 上一篇的链接: 基于.net开发chrome核心浏览器[一] 二: 相关资源介绍: chrome Frame: 让IE有一颗chrome的心, ...

  5. 基于.net开发chrome核心浏览器【一】

    原文:基于.net开发chrome核心浏览器[一] 说明: 这是本系列的第一篇文章,我会尽快发后续的文章. 源起 1.加快葬送IE6浏览器的进程 世界上使用IE6浏览器最多的地方在中国 中国使用IE6 ...

  6. 基于.net开发chrome核心浏览器【五】

    一:本篇将解决的问题 本章主要为了解决一下几个问题: 1.JsDialog的按钮错位的问题 我们开发出的浏览器,在有些操系统上调用alert,confirm之类的对话框时,确定和取消按钮会出现错位的情 ...

  7. 基于.net开发chrome核心浏览器【一】(转)

    http://www.cnblogs.com/liulun/archive/2013/03/18/2874276.html 说明: 这是本系列的第一篇文章,我会尽快发后续的文章. 源起 1.加快葬送I ...

  8. 基于.net开发chrome核心浏览器【六】

    写在前面: 距离发这个系列的上一篇文章已经过去两个多月了 因为工作上不涉及这一部分的内容,兼且琐事缠身,一直无力动笔写这个系列的第六篇文章 然而,有很多朋友都关注这个系列,希望我能再写写. 写文章有人 ...

  9. 黄聪:C# 开发Chrome内核浏览器(WebKit.net)

    WebKit.net是对WebKit的.Net封装,使用它.net程序可以非常方便的集成和使用webkit作为加载网页的容器.这里介绍一下怎么用它来显示一个网页这样的一个最简单的功能. 第一步: 下载 ...

随机推荐

  1. iOS8适配工作

    1 按钮,菜单文字被加上下划线的问题. 2 状态栏被遮挡的问题.(iPhone6明显,iPhone4S无) 3 使用xcode6最新版本进行编译出现的通知无法呈现的问题(也不进行提示) 4 权限检测( ...

  2. Date 对象总结

    Date对象,是操作日期和时间的对象.Date对象对日期和时间的操作只能通过方法. 无参数: var date=new Date(); console.log(date)     // Mon Jun ...

  3. PHP实例开发(1)PHP站内搜索

    PHP站内搜索:多关键字.加亮显示 1.SQL语句中的模糊查找 $sql = "SELECT * FROM `message` WHERE `content`like '%$k[0]%' a ...

  4. [USACO11JAN]利润Profits

    题目描述 The cows have opened a new business, and Farmer John wants to see how well they are doing. The ...

  5. phpwind将服务器数据同步到本地之后网站不显示或者排版错误

    在将phpwind的数据同步到本地服务器之后 如果访问本地服务器的首页不能显示的话 首先要查看global.php文件中的D_P变量,官方默认 的此变量应该指向和R_P变量是同一个文件夹即网站的根目录 ...

  6. HDU-4521 小明系列问题――小明序列(线段树)

    题目大意:求LIS,但是要求LIS中相邻的两个元素之间的距离要大于d. 题目分析:线段树.节点(l,r)保存信息为LIS的最后一个元素落在[l,r]之间的最大长度.从第d+2个元素开始查询更新操作,但 ...

  7. Hive 安装配置记录

    http://yymmiinngg.iteye.com/blog/708230 export HADOOP_HOME_WARN_SUPPRESS=1 export JAVA_HOME=/home/ha ...

  8. 5分钟让你学会用最高效的工具解析所有Json

    如果你是一个Android开发工程师,学会解析Json字符串是你的必修课,本篇文章主要以实例的方式手把手教你怎么做,花五分钟时间阅读本篇文章你就可以学会解析所有的Json字符串啦. 准备: json字 ...

  9. JavaScript 全选函数的实现

    Html代码: <table id="purchase-info" class="table table-bordered table-hover table-st ...

  10. HtmlEncode、HtmlDecode、UrlEncode、UrlDecode

    HtmlEncode: 将 Html 源文件中不允许出现的字符进行编码.例如:"<".">"."&" 等. HtmlDe ...