最近在学习CEF3,里面有一个cefclient例子,用它运行extjs库很卡,求教

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最近在学习CEF3,里面有一个cefclient例子,用它运行extjs库很卡,求教相关的知识,希望对你有一定的参考价值。

最近在学习CEF3,里面有一个cefclient例子,用它运行extjs库很卡,有哪位高手用CEF开发过浏览器的帮帮忙,非常感谢

1变种DS =新Ext.data.Store(
2代理:新Ext.data.ScriptTagProxy(

3网址:\'yoururl.json\'

4), 5阅读:新Ext.data.JsonReader(

6根:“字段”,

7 totalProperty:\'客流量\',

8 ID:\'身份证\'

9 [

10 名:“字段”,映射:\'域\',

11 名称:\'身份证\',映射:\'身份证\'

12])

13);

14无功组合框=新Ext.form.ComboBox(

15名:“组合框”,

16 X:0,

17 Y:20, 18商店:DA,

19 displayField:\'域\',

20 TYPEAHEAD:假的,

21 loadingText:\'字段被加载中...\',

22 forceSelection:假的,

23的TriggerAction:\'所有\',

24 hideTrigger:假的,

25 minChars:1,

26主播:\'100%\',

27每页:10

28);

JSON输出

注stcCallback1007输出请求使用该程序在回调的参数的值

stcCallback1007(“客流量” :10,“字段”:[ID:0,场:\'A\',ID:1,字段:\'B\',ID:2,现场:\'C\',ID:3,现场:\'D\',ID:4,现场:\'E\',ID:5场:\'F\',ID:6场:\'G\',ID:7场:\' H\',ID:8场:“我\']); stcCallback1007(”客流量“:10,”字段“:[ID:0,场:\'A\',ID:1,现场:\'B\',ID:2,现场:\'C\',ID:3,现场:\'D\',ID:4,现场:\'E\',ID:5场: \'F\',ID:6场:\'G\',ID:7场:\'H\',ID:8场:“我\']); stcCallback1007(”客流量“ :10,“字段”:[ID:0,场:\'A\',ID:1,字段:\'B\',ID:2,现场:\'C\',ID:3,现场:\'D\',ID:4,现场:\'E\',ID:5场:\'F\',ID:6场:\'G\',ID:7场:\' H\',ID:8场:“我\']);

对不起,错了,下面是一个网格

/ /创建数据存储

变种singleTablestore =新Ext.data.JsonStore(

根:\'主题\',

totalProperty:\'客流量\',

idProperty:\'TABLEID\',

remoteSort:真,字段:[

名称:\'TABLEID“,键入:\'诠释\',\'名\',\'描述\',\'importdate\'

]

/ /加载使用脚本标签为跨域,如果在同一个域中

代理服务器中的数据:新Ext.data.ScriptTagProxy(

URL:\'ABC JSON。“)

);

singleTablestore.setDefaultSort(\'日期\',\'DESC\');

单表的VaR =新的分机。 grid.EditorGridPanel(

ID:\'单表面板“,

布局:\'锚\',

主播:[\'100%\',\'100%\'],

标题:“单一数据处理表”,

店:singleTablestore,

/ / trackMouseOver:假的,

/ / disableSelection:真的,

loadMask:真的,

的滚动条:真的,

/ /网格列

列:[

ID:\'名称\',

头:“数据表名”,

dataIndex:\'名称\' ,

宽度:200

排序:真的,

渲染器:renderTips



ID:?\'描述\',/ / ID分配,所以我们可以应用自定义的CSS(如:X-格-COL-议题B 颜色:#333。)

头:“数据表描述”,

dataIndex:\'描述\',

渲染器:renderTips2 ,

编辑:新Ext.form.TextField(风格:\'高度:26px;的line-height:26px;显示:块;\'),

宽度:270

/ /渲染器:renderTopic,

排序:真



头:“进口日期”,

dataIndex:\'importdate\',

宽度:150,排序:真



ID:\'TABLEID\',

标题:“操作”,

dataIndex:\'TABLEID\',

宽度:450,调整大小:假的,

/ /编辑:新Ext.Button(文字:\'文本\')

渲染器:renderLast

/ /物品:[新Ext.Button(文字:\'文本\')]

],

/ /自定义视图配置

viewConfig:

/ / forceFit:真的,

enableRowBody:真, / / showPreview:真



/ /分页底部

吧BBAR:新Ext.PagingToolbar(

每页:20,商店:singleTablestore,

displayInfo:真的,

displayMsg:\'显示第0 - 2 1“,

beforePageText:\'首先\',

afterPageText:\'0“,

emptyMsg:”没有合适的内容“,

项目:[

\' - \',

压:真的,

enableToggle :真的,

文字:“展前预览”,

CLS:“X-BTN-文本图标的细节”,

toggleHandler:功能(BTN,按下)

.. 。

]



);

singleTable.on(\'afteredit\',afterEdit,这一点);

singleTable.on( \'秀\',函数()singleTablestore.load(params:一个开始:0,上限:20);,这一点);

功能afterEdit(五)

...
stcCallback1009(“客流量”:17,“主题”:[“TABLEID”:“42”,“姓名” :“工作表Sheet1”,“说明”:“第一册”,“importdate”:“2011-01-20 15:00:48”,“TABLEID”:“42”,“姓名”:“工作表Sheet1”,“说明“:”第一册“,”importdate“:”2011-01 - 20十五时00分48秒“]);
参考技术A CEF3?已经停止开发了啊····里边有许多问题,用CEF1就好,如果纯粹浏览器的话怎么不选webkit?

CEF C++环境搭建

第一步:下载CEF

到这里下载最新版本的CEF

http://cefbuilds.com/

下载解压之后,大概会看到如下图所示的文件

cefclient:是一个比较复杂的示例代码
cefsimple:是一个简单的示例代码
Debug:是用于调试的库
include:是一系列的头文件
libcef_dll:里面的代码是对libcef.dll的包装
Release:是用于发布的库
Resources:是必要的资源文件
其他文件暂时就不一一解释了。

第二步:编译工程

用VS打开程序,开始编译

如果你需要调试程序,那么就选择Debug,如果你要发布,那么就选Release

(此编译过程主要是为了编译libcef_dll_wrapper,编译之后在outDebuglib目录下会看到编译的DLL,以后步骤会用到)

 

第三步:新建工程

 

CEF C++环境搭建

 

第四步:写代码

把cef_binary_3.1921.1661_windows32cefsimple目录(注意是拷贝文件夹)拷贝到新工程下

并包含在项目中

CEF C++环境搭建

示意图(一)

 

CEF C++环境搭建

示意图(二)

 

第五步:拷贝支撑文件

在新工程所在目录下,新建一个dll文件夹

把Debug目录下的文件全部拷贝到该文件夹下

把resource目录下的文件全部拷贝到该文件夹下

把include文件夹拷贝到该文件夹下(注意是拷贝文件夹)

把outDebugliblibcef_dll_wrapper.lib文件拷贝到该文件夹下

 (如果你要发布你的应用程序了,那么你就应该拷贝相应的release目录下的文件)

 

第五步:设置工程环境

CEF C++环境搭建

 

(这一步是我后补的)

CEF C++环境搭建

 

CEF C++环境搭建

增加的两个附加包含目录

D:mymyofficeMO2MO2;

D:mymyofficeMO2MO2dll;

 

 

 

CEF C++环境搭建

文本框中的内容如下

_DEBUG

V8_DEPRECATION_WARNINGS

BLINK_SCALE_FILTERS_AT_RECORD_TIME

_WIN32_WINNT=0x0602

WINVER=0x0602

WIN32

_WINDOWS

NOMINMAX

PSAPI_VERSION=1

_CRT_RAND_S

CERT_CHAIN_PARA_HAS_EXTRA_FIELDS

WIN32_LEAN_AND_MEAN

_ATL_NO_OPENGL

_HAS_EXCEPTIONS=0

_SECURE_ATL

CHROMIUM_BUILD

TOOLKIT_VIEWS=1

USE_AURA=1

USE_ASH=1

USE_DEFAULT_RENDER_THEME=1

USE_LIBJPEG_TURBO=1

USE_MOJO=1

ENABLE_ONE_CLICK_SIGNIN

ENABLE_REMOTING=1

ENABLE_WEBRTC=1

ENABLE_PEPPER_CDMS

ENABLE_CONFIGURATION_POLICY

ENABLE_INPUT_SPEECH

ENABLE_NOTIFICATIONS

ENABLE_HIDPI=1

ENABLE_EGLIMAGE=1

__STD_C

_CRT_SECURE_NO_DEPRECATE

_SCL_SECURE_NO_DEPRECATE

NTDDI_VERSION=0x06020000

_USING_V110_SDK71_

ENABLE_TASK_MANAGER=1

ENABLE_EXTENSIONS=1

ENABLE_PLUGIN_INSTALLATION=1

ENABLE_PLUGINS=1

ENABLE_SESSION_SERVICE=1

ENABLE_THEMES=1

ENABLE_AUTOFILL_DIALOG=1

ENABLE_BACKGROUND=1

ENABLE_AUTOMATION=1

ENABLE_GOOGLE_NOW=1

CLD_VERSION=2

ENABLE_FULL_PRINTING=1

ENABLE_PRINTING=1

ENABLE_SPELLCHECK=1

ENABLE_CAPTIVE_PORTAL_DETECTION=1

ENABLE_APP_LIST=1

ENABLE_SETTINGS_APP=1

ENABLE_MANAGED_USERS=1

ENABLE_MDNS=1

ENABLE_SERVICE_DISCOVERY=1

USING_CEF_SHARED

__STDC_CONSTANT_MACROS

__STDC_FORMAT_MACROS

DYNAMIC_ANNOTATIONS_ENABLED=1

WTF_USE_DYNAMIC_ANNOTATIONS=1

CEF C++环境搭建

 

CEF C++环境搭建

C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86

 

 

CEF C++环境搭建

文本框中的内容为

wininet.lib

dnsapi.lib

version.lib

msimg32.lib

ws2_32.lib

usp10.lib

psapi.lib

dbghelp.lib

winmm.lib

shlwapi.lib

kernel32.lib

gdi32.lib

winspool.lib

comdlg32.lib

advapi32.lib

shell32.lib

ole32.lib

oleaut32.lib

user32.lib

uuid.lib

odbc32.lib

odbccp32.lib

delayimp.lib

credui.lib

netapi32.lib

comctl32.lib

rpcrt4.lib

opengl32.lib

glu32.lib

D:mymyofficeMO2MO2dlllibcef_dll_wrapper.lib

D:mymyofficeMO2MO2dllcef_sandbox.lib

D:mymyofficeMO2MO2dlllibcef.lib

 

CEF C++环境搭建

 

第六步 编译运行

编译运行工程,你会发现一个错误

此时只需把之前创建的DLL目录下的所有文件拷贝到MO2Debug目录下即可

最终运行结果如下图:

 

 

 

此文得到了乃林同学的大力支持,

要是没有他前期的工作,我老早放弃尝试了。


以上是关于最近在学习CEF3,里面有一个cefclient例子,用它运行extjs库很卡,求教的主要内容,如果未能解决你的问题,请参考以下文章

Qt嵌入浏览器(五)——CEF入口与QCefView控件的使用

CEF3研究

QT CEF3 消息循环处理

CEF3.2623使用记录:windows编译

调试CEF3程序的方法

CefSharp 3 在运行时设置代理