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 ...
随机推荐
- 使用WCF实现SOA面向服务编程—— 架构设计
原文地址:http://www.cnblogs.com/leslies2/archive/2011/03/29/1997889.html SOA本身就是一种面向企业级服务的系统架构,简单来说,SOA就 ...
- python中自定义类对象json字符串化的方法
1. 用 json 或者simplejson 就可以 2.定义转换函数: def convert_to_builtin_type(obj): print 'default(', repr(obj), ...
- Unity5 游戏小实例(方块男去打架吧)
开发了将近半个月,最近进入一家游戏公司下班时间都是9点钟. 回到家里哪里还有时间去搞其他小东西, =.=这个小实例一直拖得太长了,先上一个版本.以后在慢慢修改. 项目下载地址: http://yu ...
- handsontable插件事件
Hook插件 afterChange (changes: Array, source: String):1个或多个单元格的值被改变后调用 changes:是一个2维数组包含row,prop,o ...
- java框架BeanUtils及路径问题练习
内省----->一个变态的反射 BeanUtils主要解决 的问题: 把对象的属性数据封装 到对象中. 使从文件中读取的数据往对象中赋值更加简单: BeanUtils的好处: 1. ...
- Codeforces 549F Yura and Developers
probelm 题意 给定一个序列和一个mod值,定义[l,r]合法当l到r的全部元素和减去当中的最大值的结果能够整除mod.问共同拥有多少区间合法. 思路 一開始想的分治. 对于一个[l,r]我们能 ...
- fopen 參数具体解释
fopen fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path, ...
- js控制html5 audio的暂停、播放、停止
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...
- jquery模拟checkbox效果,以及background-size在jquery中的使用。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Android Service(下)
转载请注册出处:http://blog.csdn.net/guolin_blog/article/details/9797169 在上一篇文章中,我们学习了Android Service相关的许多重要 ...