写点什么

CEF | 探索实现基于 CEF 框架的客户端

作者:YOLO.
  • 2022-10-17
    河北
  • 本文字数:810 字

    阅读完需:约 1 分钟

CEF | 探索实现基于CEF框架的客户端

背景

因为工作需要,现在需要实现一个加载指定网址的客户端。需要在客户端内完成网页的加载、跳转、下载、打印等功能。基本上类似于做一个加载指定网址的浏览器客户端。


Qt 有自带的两个用来开发浏览器的模块,一个是 QWebKit,一个是 QWebEngine。QWebKit 在 Qt5.6 之后已经被废弃了,转而使用基于 chromium 内核、性能更好、问题更少的 QWebEngine。


但是即使是 QWebEngine,也有一些功能没有办法实现,比如网页中调用 js 的 window.print()方法时,可以捕捉到信号,但是目前没有办法获取到打印的内容(如果有大神肯赐教,可以留个言)。


而基于 cef 开发的浏览器时可以实现这个功能的,只不过现在封好的 cef 是基于 c#的。所以现在想实现 c++接口、Qt 界面、cef 框架的浏览器。

CEF 浅了解:

CEF 是 Chromium Embedded Framework 的简写,是一个把 Chromium 嵌入其他应用的框架。这是个开源项目,是由 Marshall Greenblatt 在 2008 年创立的,由 C/C++编写而成,它通过提供稳定的 API 来避免开发者被 Blink、V8、Chromium 等复杂的代码逻辑所困扰。


CEF 以开源库的方式提供,可以内嵌到第三方程序中用于显示网页以及和网页进行交互。


CEF 支持 Windows, Linux, Mac 平台。除了提供 C/C++接口外,也有其他语言的移植版。


CEF 因为基于 Chromium,所以 CEF 支持 Webkit&Chrome 中实现的 HTML5 的特性,并且在性能上面,也比较接近 Chrome。


CEF 还提供的如下特性:自定义插件、自定义协议、自定义 JavaScript 对象和扩展;可控制的 resource loading, navigation, context menus 等等。


很多大家耳熟能详的桌面端应用都在使用 CEF 框架:QQ 桌面端、微信桌面端、网易云音乐桌面端、 MATLAB 、 FoxMail 、OBS Studio 等。

CEF 的官网:

CEF 的官网是:"https://bitbucket.org/chromiumembedded/cef/wiki/Home" 。


打开是这样的:


预编译文件下载

CEF 官方提供了 Linux(32/64/ARM/ARM64)、MacOS X 64、Win32、Win64 平台的预编译好的库文件供下载,下载地址为:"http://opensource.spotify.com/cefbuilds/index.html" 。

发布于: 刚刚阅读数: 4
用户头像

YOLO.

关注

还未添加个人签名 2022-05-06 加入

还未添加个人简介

评论

发布
暂无评论
CEF | 探索实现基于CEF框架的客户端_qt_YOLO._InfoQ写作社区