GOOGLE-CEF
编程
通过一段时间的学习,发现
Google CEf
编程的几个特点。
个人观点(对错请谅解)
:
JS
和
C++
的通信方式有两种:
1.
通过
Google libcef
注册到
JS
里面的对象函数,
window.cefquery
来
向
windows
窗口传递消息。
2.
通过
Webkit
浏览器的初始化向
JS
注册本地函数,
通过
V8
来处理
回调函数。
方法一的特点是,
操作简便。
对窗口的操作直接通过窗口消息就可以
搞定。而且传递消息方式简单。但是有一个缺点就是
如果函数需要
返回值,并且
window.cefQuery
被分装在函数内部,就会导致函数已
经返回了,但是
window.cefquery
还没有内部最终返回。这样就会产
生通过
js
来去
windows
窗口返回的数据时,数据为空。这是由
js
的
异步模式造成的。
这里应该有一种解决方案,
就是修改
cefquery
函数,
使他可以像
ajax
一样提供同步的参数,使它在执行期间函数阻塞,
直至内部函数返回。
方法二的特点是,在程序一开始的时候向网页注册一堆的
JS
对象。
在网页内部可以直接通过这些对象来访问
windows
窗口的本地方法。
本方法有一个优点和一些缺点。优点就是
JS
在网页内部被调用的时
候,使用网页调试工具看不到
js
代码,不能随意修改
js
代码。缺点