
CEF3
Cynhard85
逆水行舟不进则退
展开
-
CEF3:Windows下用VS2015编译CEF3
下载并解压首先下载二进制发布包,下载地址为:CEF Automated Builds,本例下载的版本是:cef_binary_3.3029.1619.geeeb5d7_windows32.tar.bz2。注意可能需要代理才能下载。下载后解压到合适的目录。解压后的目录结构大致如下:[解压目录] |-include -- 头文件目录 |-Debug -- 编译好的CEF库,D原创 2017-08-26 09:52:04 · 11464 阅读 · 2 评论 -
CEF3:CEF3多进程
CEF3 使用多进程。其中包括:一个浏览器进程、一个渲染进程和若干其他进程(插件进程、gpu进程等)。浏览器进程处理窗口的创建和绘制,以及网络访问等,浏览器进程包含了应用程序的主要逻辑。渲染进程负责渲染 HTML 以及执行 JavaScript ,访问 DOM 等。其他进程则进程插件处理,或者 gpu 处理,如果有的话。多个进程之间通过 IPC (Inter-Process Communic原创 2017-08-29 16:17:38 · 10922 阅读 · 2 评论 -
CEF3:用CEF3实现最简单的浏览器
本例开发环境:WIN10 + VS2015如果还没有编译CEF3库,请见:Windows下用VS2015编译CEF3创建一个空的 Windows 应用程序,命名为 SimpleBrowser,如下图: 新建 main.cpp ,编写如下代码:#include "include/cef_app.h"#include "include/cef_browser.h"#include "inc原创 2017-08-28 14:21:42 · 31018 阅读 · 7 评论 -
CEF3:CEF3关闭流程
CEF3关闭流程如下:用户点击关闭按钮,发送 WM_CLOSE 消息。在 WM_CLOSE 中调用 TryCloseBrowser() 并返回 false,表示取消关闭窗口。调用 JS 的 onbeforeunload 方法,如果允许关闭,则4,否则处理结束。则调用 JS 的 onunload 方法。调用 CefLifeSpanHandler::DoClose() 方法,可以重写该方法以处原创 2017-08-28 18:32:18 · 4762 阅读 · 0 评论 -
CEF3:与 JavaScript 整合(一)
CEF 中的 JavaScriptCEF 利用 V8 JS 引擎来实现 JS。浏览器中的每一个 frame 都有自己的 JS 上下文,JS 只能在该上下文中执行。JS 只能在渲染进程中的 TID_RENDERER 线程中执行。有关 JS 回调的接口都包含在 CefRenderProcessHandler 中,因此我们要实现这个接口来对 JS 进行扩展。这个接口一般由 CefApp 实现原创 2017-08-30 17:40:46 · 3925 阅读 · 1 评论 -
CEF3:与 JavaScript 整合(三)—— IPC 通信
本篇介绍如何通过发送 IPC 消息实现 JS 回调函数的异步调用。实现方法渲染进程端: 1、实现 CefV8Handler 以注册 JS 回调函数 2、在 CefRenderProcessHandler::OnContextCreated() 中绑定函数到 window 对象 3、实现 CefRenderProcessHandler::OnProcessMessageReceived() 处理原创 2017-09-14 14:56:16 · 4070 阅读 · 0 评论 -
CEF3:与 JavaScript 整合(二)
下载工程本篇续:CEF3:与 JavaScript 整合(一)本篇讲解如何通过消息路由,将 JS 发送的请求路由到浏览器进程来处理。消息路由消息路由发生在浏览器进程和渲染进程之间,通过消息路由,CEF将运行在渲染进程的 JS 消息发送到浏览器进程,并在浏览器进程中通过执行 C++ 代码做出响应。整个过程都是异步进行的。实现步骤CEF 抽象出了两个类来分别表示路由的两端:...原创 2017-09-01 17:55:07 · 2472 阅读 · 3 评论