基于wke封装的duilib的webkit浏览器控件,可以c++与js互交,源码及demo下载地址

摘要:
在此首先要感谢wke内核的作者BlzFans以及soui2界面库的作者flyhigh,BlzFans精简了webkit内核后封装为wke并公布了源码,flyhigh对wke进行处理让他更容易移植到dui工程中。近几年webkit内核貌似很火爆,duilib已经有了webbrowser控件,为什么还要再封装个webkit内核的浏览器控件?关于c++控制网页和js控制c++的功能,请参见我前面写的博客《给Webkit内核的浏览器控件增加互交功能》,我就不赘述了,我在demo里演示了js控制c++。

转载请说明原出处,谢谢~~

前些日子用wke内核封装了duilib的webkit浏览器控件,好多群里朋友私聊我希望可以我公布源码,今天把这个控件的源码和使用demo公布。其实这个控件封装起来没什么难度,我只是按照原来作者的demo,把相应的消息封装成duilib对应的。

在此首先要感谢wke内核的作者BlzFans以及soui2界面库的作者flyhigh,BlzFans精简了webkit内核后封装为wke并公布了源码,flyhigh对wke进行处理让他更容易移植到dui工程中。wke内核10M大,加上视频播放模块的话15M。我站在巨人的肩膀上,只是把这个内核简单的封装了一下。

近几年webkit内核貌似很火爆,duilib已经有了webbrowser控件,为什么还要再封装个webkit内核的浏览器控件?原因如下:

1)众所周知IE的版本众多,从经典的IE6到最新的IE11,但是他们并没有统一的实现标准,导致同样的网页文件在不同版本的IE浏览器中的效果不一样。

2)使用IE内核的浏览器效率较低些,这点就不用说了大家都知道

3)实现c++与网页的互交功能太繁琐,做过c++与IE互交的朋友肯定深有体会,需要编写一堆代码才可以完成,而这个wke内核只需要几行代码就可以完成c++控制网页、js控制c++。

4)wke内核完全支持最新的css3和html5技术。

关于c++控制网页和js控制c++的功能,请参见我前面写的博客给Webkit内核的浏览器控件增加互交功能,我就不赘述了,我在demo里演示了js控制c++。鼠标移动进如图的红色区域再移动出来,就会弹出对话框,这是js主动调用c++的例子,为了防止暴露个人信息,我就把网页换成了最简单的背景,大家凑活着看吧~~

在c++代码里我有所注释,大家可以自己去测试各种网站。

基于wke封装的duilib的webkit浏览器控件,可以c++与js互交,源码及demo下载地址第1张

基于wke封装的duilib的webkit浏览器控件,可以c++与js互交,源码及demo下载地址第2张

基于wke封装的duilib的webkit浏览器控件,可以c++与js互交,源码及demo下载地址第3张

基于wke封装的duilib的webkit浏览器控件,可以c++与js互交,源码及demo下载地址第4张

duilib webkit内核浏览器控件源码及demo已经同步到我的个人维护的duilib库中,现在的版本已经修复了网页的select标签无法显示的问题,我个人库的地址:点击打开链接

或者从csdn资源处下载:点击打开链接

如果发现我的demo有什么不妥,或者封装的控件有问题,请联系我!

Redrain 2014.8.13

免责声明:文章转载自《基于wke封装的duilib的webkit浏览器控件,可以c++与js互交,源码及demo下载地址》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇uni-app 组织架构组件CentOS 7 LDAP 安装配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

微信公众号开发系列-获取微信OpenID

在微信开发时候在做消息接口交互的时候须要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID。接收事件推送方式和网页授权获取用户基本信息方式获取。 1、通过接收被动消息方式获取OpenId(接收事件推送方式)。下面事件中都能够获取到OpenID 关注/取消关注事件 用户在关注与取消关注公众号时。微信会把这个事件推送到开发人员填...

web中打开word为什么老是提示无法打开宏储存?

是因为用户没有在服务器端运行Word的权限,应在服务器端做如下操作:1.开始--运行--dcomcnfg--Microsoft Word 文档--属性--身份标识--交互式用户否则会出现“消息筛选器显示应用程序正在使用中”的错误2.开始--运行--dcomcnfg--Microsoft Word 文档--属性--安全性--使用自定义访问权限--添加Ever...

Java算法-hash算法

Hash ,一般翻译做“ 散列” ,也有直接音译为“ 哈希” 的,就是把任意长度的输入(又叫做预映射, pre-image ),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不 同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到...

js 二分查找法之每日一更

<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html"/> <meta name="keywords" content="二分查找算法" />...

JS学习笔记(一)JS处理JSON数据

【摘抄】将JSON字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: var str2 = { "na...

【转载】通过服务端监控结果,说说WCF的并发处理

InstanceContextMode表示的是,WCF允许产生可用来处理包含在传入消息中的调用的服务(契约类)的实例InstanceContext模式数,WCF的并发模式ConcurrencyMode是针对某个封装了服务实例的InstanceContext而言的 简单的说,InstanceContextMode表示产生多少个服务实例对象,Concurren...