cef

Cef经典N大问题

佐手、 提交于 2019-12-23 01:36:52
1、cef启动、退出的时候怎么崩溃了 答:如果是启动时崩溃,请看资源目录是否文件都齐全. 退出的话见https://github.com/fanfeilong/cefutil/blob/master/doc/CEF_Close.md 如果是centos6.4 内核上跑CEF启动时候崩溃,原因是不支持一个uid有关的东西。启动时增加参数--disable-setuid-sandbox就OK了 2、mp3怎么没声音 答:从chromium45版本后,chromium把ffpeme这个dll静态链接进dll了。同时因为版权的原因,没有带MP3的支持库。可以从群里下载别的网页编译好的cef,自带mp3。或者自己编译cef,见http://www.cnblogs.com/himax/p/how_to_build_cef3_on_windows.html 另外: 51版本的MP4,其实只要在chromium最开始gn args命令的记事本里面加上ffmpeg_branding=“Chrome” proprietary_codecs=ture就行了。官方文档,却说的是要用export命令加上编译宏 。 3、怎么让js c++交互 答:网上资料很多,看v8相关的接口就知道了。或者可以搜索brackets-shell-master的代码。那是个完整的cef使用案例,非常牛逼 (或者http:/

CEF小白人系列1-认识CEF

我的未来我决定 提交于 2019-12-18 12:56:03
前言: 手头上有个项目需要做浏览器的相关功能,评估了几个嵌入式方案最后选定CEF作为开发基础。 在入坑新技术的时候第一选择是去官网学习,这是一个非常好的习惯。 CEF官网(请科学上网): https://bitbucket.org/chromiumembedded/cef 在官网上有详细的介绍,英文苦的兄弟可以谷歌翻译大概意思是对的。必须仔细阅读。 CEF的维基百科 https://en.wikipedia.org/wiki/Chromium_Embedded_Framework#Applications_using_CEF 什么是CEF: Chromium嵌入式框架(CEF)是一个将基于Chromium的浏览器嵌入到其他应用程序的简单框架。支持Windows, Linux, Mac平台。除了提供C/C++接口外,也有其他语言的移植版。 其实可以理解CEF是个基于Google Chromium项目的开源Web browser控件 CEF的历史: CEF有两种版本的Chromium Embedded Framework:CEF 1和CEF 3 在Chromium Content API出现后,CEF 2的开发被放弃。 CEF 1是基于Chromium WebKit API的单进程实现。它不再积极发展或支持。 CEF 3是基于Chromium Content API的多进程实现

使用CEF作为浏览器

怎甘沉沦 提交于 2019-12-18 12:55:24
c# 内嵌chrome (CEFSharp)首次 首先标记一个大坑!!!: 不管哪个版本,都需要在解决方案---配置管理器---平台---改为X86。否则一直打开是空白的窗口。坑了我一天都快炸了。 步骤一、创建一个winform应用程序。使用NuGet添加CefSharp。然后安装完成后,完全关闭vs并重新打开。(智障) cefsharp45及以上版本需要VC2013: https://www.microsoft.com/en-us/download/details.aspx?id=40784 步骤二、 这个教程说可以配置anycpu。配anycpu需要解决方案属性“首选32位”,改csproj和App.config文件。否则你看引用那一堆小叹号。此方法弃用。既然不能很好的支持anyCpu,就别出方法坑人了= =。最后还需要配置管理器改成平台X86才行。辣鸡。(但是nuget包下载后有个readme,第一条就是确保你设置了X86或X64.不会与anycpu一起工作。所以此攻略说的还是有毛病) 步骤二、在解决方案右键----“配置管理器”----平台---“X86”.(没找到选项就新建一个)。即可!! 步骤三、 using CefSharp; using CefSharp.WinForms;    public ChromiumWebBrowser chromeBrowser;

CEF使用的几个注意点

試著忘記壹切 提交于 2019-12-18 12:53:50
CEF为chrome浏览器的切入其他浏览器中的轻量级框架。 开发的客户端的时候,这是作为界面显示的首先,可以增强客户的易变性,可塑性。 在开发的过程中(侧重于C,C++解决),遇到的几个问题,以及自己看源码和整理出的KO思路: 1. cef如何禁用右键属性: 手动写一个Cclient来继承 CefMenuHandler这个抽象类,然对其下面的纯虚函数进行重写 1 virtual bool OnBeforeMenu(CefRefPtr<CefBrowser> browser, const CefMenuInfo& menuInfo) { return true; } 2 virtual CefRefPtr<CefMenuHandler> GetMenuHandler() { return this; } 2.如何对浏览器进行定位或者说是画出来: 首先用此函数GetClientRect 获取客户区的矩形区域,rect 然后运用下面的函数,进行定位 CefSettings cSettings; CefRefPtr<CefApp>spApp; CefWindowInfo info; RECT rect; RECT rectnew; CefBrowserSettings browserSettings; 1 CefSettingsTraits::init(&cSettings); 2

路由性能故障检测与排除

不想你离开。 提交于 2019-12-15 10:08:08
作为一名网络管理员,如果发现PING时延大于正常时间或TELNET会话响应迟缓,就表明路由器的性能出了问题。 可能原因为: CPU利用率过高: ARP输入进程。网络上ARP泛滥。show ip arp 多是incomplete. 网络背景进程:接口缓冲已满,占用路由器主缓存。show inter et0/0 ,看3个值:throttles,ignored,overrun是不是在增加 IP背景进程:路由接口因某种原因,重复性UP,dowN,消耗CPU资源 TCP定时进程。和路由器通讯(如TELNET)会运行一个TCP定时器。如果有大量TCP连接的话,会消耗CPU资源。 show tcp statistics 路由器采用包交换模式。 包交换方式有3种:进程交换,快速交换,CEF。 show ip inter fa0/0 看接口的包交换模式:ip fast swithing is enabled;ip flow swithing is disable;ip cef switching is enabled. show proc cpu | i IP input 看IP输入进程百分比,如果此值较高,说明路由器在执行进程交换,有问题了。。 show cef not-cef-switche 查看路由器使用非CEF包交换机制转发数据包信息 show ip cef 查看路由器FIB内容。

Cannot find bounds of current function

蓝咒 提交于 2019-12-06 13:32:42
MinGW编译平台的应用程序使用libcef.dll,当调用cef的capi接口时程序崩溃。调试单步到cef capi函数时,调试器报错“Cannot find bounds of current function”。 解决问题的思路在 https://stackoverflow.com/questions/8741493/why-i-do-get-cannot-find-bound-of-current-function-when-i-overwrite-the-ret-ad 在windows平台需要使用嵌入浏览器cef,同时要使用c++11,又不想安装庞大的VS开发环境。选用了codeblocks-17.12mingw-nosetup作为开妇环境,压缩包不到100MB,MinGW gcc为2015年的5.1.0版本。支持同等c++11特性的vc编译器,应该是VS2015,即使是express版也有5G庞大。 http://opensource.spotify.com/cefbuilds/index.html#windows32_builds 找到最低版本的libcef.3.2704.1414,体积约50M。笔者在其它软件找到体积更小,只有40M的libcef.dll.3.2171。如果不迷恋c++wrapper的话,下载后的cefbuild直接可以使用capi。如果已经习惯了<

CEF4Delphi初识

喜你入骨 提交于 2019-12-05 20:28:04
代码模块与职责 所有的代码都在src目录下,这会导致一上手的时候无法快速划分模块,不便于理解,如果分类然后放文件夹就会好一些。 最关键的部分在于uCEFApplication,是和dll链接的部分 uCEFInterfaces.pas ,可以在这个文件内找到所有关于接口类型的声明,抽象了基本类型使用的接口,结构清晰。几乎是个功能都能找到对应的接口。和cef提供的接口有高度一致性。除了cef相关的接口外,还有自定义的一些工具接口。 uCEFClient.pas ,继承自ICefClient,用于实现获取Handler的接口 uCEFTypes.pas ,这个文件声明了大量的类型,但是不知道是不是所有的类型声明都在这里面。 uCEFChromium.pas ,存放了TChromium的类型声明,是实现功能的关键类。 uCEFLoadHandler ,存放了loadHandler相关类型,回调处理器的一个具体实现,还有很多其他的handler。 uCEFApplication.pas 是核心,涉及到关键部分,有关键的类 TCefApplication ,加载了dll并获取函数,是使用CEF4Delphi的入口。 关键类型和关键接口 ICefBrowser :主要是浏览器级别的接口,获取frame,后退前进,中断加载等接口(浏览器进程的功能接口); ICefFrame :加载网页的对象

CEF 拦截打开超链接事件

牧云@^-^@ 提交于 2019-12-05 15:43:28
使用 CEF 加载指定页面后,如果你希望控制页面在打开超链接时根据自己预定义的一些行为来操作,比如在自己的 UI 框架中新建一个 Tab 页又或者阻止打开新的页面等。我们就需要通过 CEF 提供的两个接口来实现这个功能了,分别是 OnBeforeBrowser 和 OnBeforePopup,两个接口各有各的用处,下面分别来详细介绍两个接口的作用。 OnBeforePopup 当你在页面中编写了一个 target 属性为 _blank 的超链接标签时,界面中点击这个超链接就会跳转到这个接口中,该接口声明如下: virtual bool OnBeforePopup(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, const CefString& target_url, const CefString& target_frame_name, CefLifeSpanHandler::WindowOpenDisposition target_disposition, bool user_gesture, const CefPopupFeatures& popupFeatures, CefWindowInfo& windowInfo, CefRefPtr<CefClient>& client,

C# 以管理员权限删除文件

∥☆過路亽.° 提交于 2019-12-05 04:01:17
当我们的系统时间不正常,比如设置一个日期-1999年9月9日,会引发证书问题。 系统时间不正常-IE有概率能访问 触发NavigateError事件,异常代码INET_E_INVALID_CERTIFICATE -- 这是一个必要不充分条件,系统时间不正常时IE有相关证书异常,更新时间能解决此类异常 系统时间不正常-Cef完全无法访问 使用Cef-Demo,异常显示如下: ChromiumWebBrowser控件,此类异常也会触发LoadError事件 异常Code是CefErrorCode.Aborted,文件下载取消等异常信息也是Aborted类型,所以无法判断当前异常是否证书相关异常。 那么有没有Cef浏览器有没有其它相关异常事件,可以准确获知相关证书异常呢? Cef系统时间不正常的修复方案 Cef有请求委托RequestHandler对象,可以在本地定制相关实现 _cefBrowser.RequestHandler = new ChromeBrowserRequestHandler(); 新建ChromeBrowserRequestHandler,继承默认RequestHandler,把相关事件暴露给外界调用 1 public class ChromeBrowserRequestHandler : DefaultRequestHandler 2 { 3 ///

IE-LAB网络实验室:Cisco CEF浅析

半世苍凉 提交于 2019-12-04 02:56:06
CEF(Cisco Express Forwarding,Cisco特快交换)技术是思科公司推出的一种全新的路由交换方案,它具有良好的交换性能,增强的交换体系结构和极高的包转发速率。 传统路由器的基本作用是路由计算和包转发,通常基于共享存储器体系结构,采用集中式CPU,即单个CPU(或多个CPU,联结成路由器簇)控制共享总线,连接多个接口卡上,接口卡包含简单的队列等结构,与CPU通信,通过共享总线实现数据包转发。随着Internet的快速发展和大量新的服务需求的不断出现,对网络的路由和交换性能提出了更高的要求,要同时提高包转发速率和系统的性能,必须对传统路由器与交换设备的设计体系结构进行改进,并加入一些新的设计方案以完善系统性能。采用CEF技术的交换路由器,在体系结构,路由方式和接口卡性能等方面都有质的改变,特别适用于大业务量的ISP网络的核心层,同时也广泛应用于高速企业网的主干。 CEF有两种模式: (1)集中式: 允许一个路由处理模块运行特快交换,即FIB和邻接表驻留在路由处理模块中,当线路卡不可用或不具备分散CEF交换的功能时,就可使用集中CEF交换模式。 (2)分布式: (一般记作dCEF)允许路由器的多个线路卡(VIP)分别运行特快交换功能,前提是线路是VIP线路卡或GSR线路卡。中央路由处理器完成系统管理/路由选择和转发表计算等功能,并把CEF表分布到单个线路卡