CEF3
浏览器内核CEF3框架遇到的各种奇怪问题总结,也包括CEF3集成到MFC中的步骤。
youyicc
这个作者很懒,什么都没留下…
展开
-
Cef的JavaScript和MFC通信
在我另一篇文章里面介绍了如何在JavaScript中调用MFC的代码和MFC中调用JavaScript的代码,但是文中提到一个问题:在vs代码CSimpleV8Handler::Execute中打断点始终停不下来,一直以为是电脑问题,纠结了很久,最后发现是因为我加载cef的时候用的是多进程模式,代码设置如下: void* sandbox_info = NULL; CefMainArgs m...原创 2020-01-19 15:42:09 · 613 阅读 · 0 评论 -
MFC和Javascript交互-Cef
本文中使用的是Cef加载网页,实现网页中javascript和mfc代码之间相互调用,即是mfc调用javascript,javascript调用mfc代码。一、javascript调用mfc代码①搭建mfc加载cef的框架,并加载网页,这部分内容在网上有很多博文,不过会遇到一些崩溃,或者无法正常退出,或者多进程和单进程问题,或者加载网页慢等问题,在我其他博文中有一部分解决方案介绍,这里跳过这...原创 2020-01-19 09:30:51 · 1049 阅读 · 0 评论 -
最新CEF3无法正确加载URL问题
问题描述:之前使用CEF3加载网页,按照正常流程,可以直接加载出网页(具体可以参考我的其他关于CEF的文档),现在把原来的代码拿出来编译运行也可以正确加载网页,但是原来的程序库是32位的,现在想编译一个64位版本的,重新下载了CEF3的代码编译,将lib添加到原来的程序代码中,无法正确加载出网页(界面一片空白),我一直以为是CEF3的问题,但是编译CEF3自带的demo后,运行发现可以正常加载出网页,这就很蛋疼了。问题查找过程①最开始下载的最新的CEF3代码,以为是最新代码有问题,于是下载和之前32位原创 2020-06-30 15:35:43 · 2441 阅读 · 6 评论 -
Cef3设置cookie的一些心得
Cef3设置cookie的方法要分老版本和新版本:老版本是开一个线程设置cookie,新版本的取消了这个方法,直接设置cookie,本文是用新版本内核,老版本参考网上代码。下面是新版本设置cookie的方法:CefRefPtr<CefCookieManager> manager = CefCookieManager::GetGlobalManager(NULL);CefCookie...原创 2019-06-18 16:21:06 · 5133 阅读 · 6 评论 -
MFC内嵌CEF打开网页巨慢解决办法
默认CEF是使用了电脑IE浏览器的代理,使用代理会导致CEF打开网页非常慢,但是在浏览器中打开网页是很快的,为了解决这个问题,本人总结了两种办法:①直接修改注册表,将IE浏览器的代理模式全部去掉,代码如下:HKEY hKey = NULL;long lRet = RegOpenKey(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\Cur...原创 2019-06-21 09:22:58 · 3155 阅读 · 3 评论 -
cef内核中js调用mfc代码
cef内核下,js调用mfc代码有很多种方式,本文只记录其中一种方式(重写CefV8Handler)。第一步,创建类CSimpleV8Handler继承自CefV8Handler,并重写虚函数Execute,代码如下#pragma once#include "include/cef_v8.h"class CSimpleV8Handler : public CefV8Handler{pu...原创 2019-06-21 13:55:24 · 471 阅读 · 0 评论 -
CEF3加载网页部分地方是英文问题 本地化设置
现象:在浏览器中打开网页,在极速模式下显示是汉字,在兼容模式下显示是英文,但是在cef中打开是英文,包括日历控件打开也是英文。解决办法:在CefSettings中,有两个参数,分别是locale和accept_language_list,CEF默认使用的是en-US,需要将这两个参数设置为zh-CN,代码如下:const char* loc = "zh-CN";CefString(&...原创 2019-06-21 14:40:51 · 1395 阅读 · 0 评论 -
MFC内嵌CEF移动到屏幕外再移动回来出现黑条纹问题
问题原因暂时不清楚,网上基本没有资料,但是测试发现,在移动到屏幕外后,对话框会调用OnPaint函数,重载该函数后,发现内部啥都没干,于是加上代码void CChrome::OnPaint(){ CPaintDC dc(this); // device context for painting // TODO: 在此处添加消息处理程序代码 CHmDialog::OnPaint();}...原创 2019-06-21 15:23:56 · 345 阅读 · 0 评论 -
MFC集成CEF3实现打开网页功能
第一步,准备环境①下载cmake。本文使用的是cmake-3.15.0.zip,下载地址https://cmake.org/download/,下载任意版本都可以,下载后安装即可。②下载cef源码。本文使用的cef3版本是cef_binary_3.3071.1649.tar.bz2,下载地址是http://opensource.spotify.com/cefbuilds/index.html,...原创 2019-08-19 13:07:15 · 5151 阅读 · 0 评论 -
MFC下CEF3的消息循环
研究cef3的simple代码都知道,整个工程是基于win32实现的,在主文件中有一句CefRunMessageLoop(); //启动CEF消息循环这其实就是一个死循环,直到收到退出命令才退出循环,而退出命令是在CefQuitMessageLoop(); //关闭CEF消息循环中实现的。然而MFC自带消息循环,所以CEF3嵌入到MFC中根本就不需要使用自带的消息循环,但是如...原创 2019-08-19 14:03:12 · 1519 阅读 · 0 评论 -
MFC下集成CEF3单进程和多进程
但是原创 2019-08-19 13:54:37 · 2815 阅读 · 0 评论