CEF中文教程(google chrome浏览器控件) -- Windows下编译Chromium

官方主页: 点击打开链接
CEF简介:
嵌入式Chromium框架(简称CEF) 是一个由Marshall Greenblatt在2008建立的开源项目,它主要目的是开发一个基于Google Chromium的Webbrowser控件。CEF支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去。
它的设计思想政治就是易用且兼顾性能。CEF基本的框架包含C/C++程序接口,通过本地库的接口来实现,而这个库则会隔离宿主程序和Chromium&Webkit的操作细节。它在浏览器控件和宿主程序之间提供紧密的整合,它支持用户插件,协议,JavaScript对象以及javascript扩展,宿主程序可以随意地控件资源下载,导航,下下文内容和打印等,并且可以跟Google Chrome浏览器一起,支持高性能和Html5 技术,
CEF指南:
指南:
首先把这段代码插入到窗口的创建函数里面去:
- // Create an instance of our CefClient implementation. Various methods in the
- // MyClient instance will be called to notify about and customize browser
- // behavior.
- CefRefPtr<CefClient> client(new MyClient());
- // Information about the parent window, client rectangle, etc.
- CefWindowInfo info;
- info.SetAsChild(...);
- // Browser initialization settings.
- CefBrowserSettings settings;
- // Create the new browser window object asynchronously. This eventually results
- // in a call to CefLifeSpanHandler::OnAfterCreated().
- CefBrowser::CreateBrowser(info, client, "http://www.google.com", settings);
这段代码你可以在[test]文件夹下面的cefclient工程里面看到。
文件结构:
include -- 这个文件夹里面放CEF客户应用程序所需的头文件
libcef -- 此文件夹存放CEF的静态库
libcef_dll -- 此文件夹CEF的动态拉链库
tests -- 此文件夹存放测试的例子
cefclient -- 一个简单的客户程序
unittests -- CEF界面单元测试
浏览器事件:
插入网景风格插件:
JavaScript扩展:
用户计划:
框架总览:
框架的建立和销毁:
引用计数:
平台无关:
框架接口:
CefReadHandler和CefWriteHandle是一个读写数据的简单接口。
以上内容是Cef的简介,后面我将翻译怎么编译并生成一个用CEF控件来创建的一个简单浏览器!

这部分讲解CEF的分支信息并介绍下载编译和打包源代码
背景:
发展:
发布版:
| 发布版本 | Chromium版本 | CEF1支持性 | CEF3支持性 |
| 963 | 17 | 是 | 否 |
| 1025 | 18 | 是 | 否 |
| 1084 | 19 | 是 | 否 |
| 1180 | 21 | 是 | 是 |
| 1271 | 23 | 是 | 是 |
| 1364 | 25 | 是 | 是 |
| 1453 | 26 | 是 | 是 |
编译源代码:
1.为你的操作系统和开发环境安装必要的包:
2.配置环境可以影响GYP
自动的方法:
1.下载自动工具 automate.py:
http://chromiumembedded.googlecode.com/svn/trunk/cef1/tools/automate /path/to/automate
2.运行automate.py脚本:
python /path/to/automate/automate.py --download-dir=/path/to/download --url=http://chromiumembedded.googlecode.com/svn/branches/1084/cef1
手动下载:
开发版:
svn co http://src.chromium.org/svn/trunk/tools/depot_tools
C. 增加depot_tools的目录到你的PATH,在Windows下depot_tools的路径应该要放在TortoiseSVN的前面
cd /path/to/chromium
gclient config http://src.chromium.org/chrome/trunk/src
remind: 上面这段你只要复制到cmd里面去运行就可以了
cd /path/to/chromium
gclient sync --revision src@chromium_revision --jobs 8 --force
4. 下载CEF源代码到"cef"文件夹,而且这个文件夹必须包含在Chromium的"src"文件夹目录下,你最好只下载CEF1或CEF3而不要两者都下,假设你的Chromium源代码下载在"/path/to/chromium/src",那么你的CEF源代码就应该放在"/path/to/chromium/src/cef"。注意不管你下的是CEF1或CEF3,文件夹名都必须命名为"cef"
cd /path/to/chromium/src
svn co http://chromiumembedded.googlecode.com/svn/trunk/cef1 cef
发布版:
手动编译:
1.运行cef_create_project脚本(windows下用.bat, OS-X和linux下用.sh)去产生一个在GYP配置下的编译文件
cd /path/to/chromium/src/cef
./cef_create_projects.sh
2.编译CEF
cd /path/to/chromium/src/cef/tools
build_projects.sh Debug
手动打包:
cd /path/to/chromium/src/cef/tools
make_distrib.sh
如果这个过程成功了,一个二进制的分发包会生成在/path/to/chromium/src/cef/binary_distrib目录中。
CEF中文教程(google chrome浏览器控件) -- Windows下编译Chromium的更多相关文章
- windows下编译chromium浏览器的15个流程整理
编译chromium 系统为windows, 国内在windows上编译chromium的资料比较少, 我这篇文章只能作为参考, 记录我遇到的一些问题,因为chromium团队也会修改了代码,或者编译 ...
- webbrowser控件——Windows下的开发利器
首先说明,本人比较菜,做C++没多长时间. 刚开始用MFC写程序时,连个基本的字体都不会变(颜色.大小等), 索性干脆就啥也不改了,直接默认,界面就那样了,老子不管了. 心想这C++做个界面咋就那么麻 ...
- Chrome浏览器控件安装方法
说明:只需要安装up6.exe即可,up6.exe为插件集成安装包. 1.以管理员身份运行up6.exe.up6.exe中已经集成Chrome插件.
- java浏览器控件jxbrowser(简单demo模拟自动登录与点击)
写在前面: 老大让我写个脚本自动给他写dms有一段时间了,说实话当时不知道老大指的这个脚本是什么?毕竟是做web的,难道是写个数据库sql语句脚本吗?也就放在了一边.巧了,最近一个朋友说他之前写了个程 ...
- DotnetBrowser入门教程-(1)浏览器控件使用
先简单介绍下DotnetBrowser作为基本浏览器控件的使用: 1.创建基于.net 4.0的桌面项目,如下所示: 2.首次使用的时候在工具栏里添加dotnetbrowser控件,如下图所示: 3. ...
- 将webkit内核封装为duilib的浏览器控件
转载请说明出处,谢谢~~ 原本的duilib是自带浏览器控件的,但是使用了IE内核,我在做仿酷狗音乐播放器时,在右侧乐库要用到浏览器控件,而我使用自带的IE控件却发现了不少缺点,这也是duilib一直 ...
- 转)delphi chrome cef3 控件学习笔记 (二)
(转)delphi chrome cef3 控件学习笔记 (二) https://blog.csdn.net/risesoft2012/article/details/51260832 原创 2016 ...
- Ubuntu 14.04 LTS下安装Google Chrome浏览器
在Ubuntu 14.04下安装Google Chrome浏览器非常简单,只要到Chrome的网站下载Deb安装包并进行安装即可.当然你也可以使用APT软件包管理器来安装Google Chrome浏览 ...
- 关于Google Chrome 浏览器的一些命令及用法
http://blog.csdn.net/zyz511919766/article/details/7356306 一些Chrome的地址栏命令(这些命令会不停的变动,所有不一定都是好用的) 在Chr ...
随机推荐
- Unix,windows和Mac中的换行
Unix 系统里,每行结尾只有“<换行>”,即“\n”:Windows系统里面,每行结尾是“<换行><回车 >”,即“\r\n”:Mac系统里,每行结尾是“< ...
- Lucene.net常见功能实现知识汇总
在开发SearchEasy Site SearchEngine(搜易站内搜索引擎)的时候,经常会遇到一些搜索引擎的常见功能如何实现的问题,比如实现相关度百分比显示?如何实现在结果中搜索等等诸如此类常见 ...
- Sum 类型题目总结
Sum类的题目一般这样: input: nums[], target output: satisfied arrays/ lists/ number 拿到题目,首先分析: 1. 是几个数的sum 2. ...
- Linux常用命令及使用技巧
本文重点讲述Linux命令的使用,命令是学习Linux必须熟练掌握的一个部分.Linux下的命令大概有600个,而常用的命令其实只有80个左右,这些常用的命令是需要灵活掌握的.虽然Linux的各个发行 ...
- PHP性能优化学习笔记--PHP周边性能优化--来自慕课网Pangee http://www.imooc.com/learn/205
PHP一般运行于Linux服务器中,周边主要包括:Linux运行环境.文件存储.数据库.缓存.网络 常见PHP场景的开销次序: 读写内存<<读写数据库(使用内存作为缓存.异步处理)< ...
- 自定义 Layer 属性的动画
默认情况下,CALayer 及其子类的绝大部分标准属性都可以执行动画,无论是添加一个 CAAnimation 到 Layer(显式动画),亦或是为属性指定一个动作然后修改它(隐式动画). 但有时候 ...
- 仿桌面通知pnotify插件
在做网站的时候,alert弹出框是非常常见的情形.但是,有些情况下,弹框对用户来说是并不友好的.调研了几个其他的提示插件了,发现pnotify比较好用,可配置性也高. 使用示例: <!DOCTY ...
- Remastersys备份linux系统ISO镜像
1. 安装Remastersys 利用Ubuntu Software Center安装,修改sources.list文件,在文件末尾加入下面三行,添加软件源, #Rsudo remastersys d ...
- 玩转Nodejs日志管理log4js(转)
转自:http://blog.fens.me/nodejs-log4js/ 前言 日志对任何的应用来说都是至关重要的.在Nodejs中使用express框架并没有自带的日志模块,我们可以选择log4j ...
- Linux进程控制——exec函数族
原文:http://www.cnblogs.com/hnrainll/archive/2011/07/23/2114854.html 1.简介 在Linux中,并不存在exec()函数,exec指的是 ...