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

简介: 转载请说明原出处,谢谢~~        前些日子用wke内核封装了duilib的webkit浏览器控件,好多群里朋友私聊我希望可以我公布源码,今天把这个控件的源码和使用demo公布。

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

       前些日子用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++代码里我有所注释,大家可以自己去测试各种网站。







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


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


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


   Redrain  2014.8.13

目录
相关文章
|
9月前
|
C++
基本二叉树与排序二叉树(C++源码)
本程序实现二叉树基本操作与二叉排序树应用。支持前序建树、四种遍历、求深度、叶子数、第K层节点数及查找功能;并实现二叉排序树的构建、中序输出与查找比较次数统计,分析不同插入顺序对树形态和查找效率的影响。
|
编译器 C++ 容器
【c++丨STL】基于红黑树模拟实现set和map(附源码)
本文基于红黑树的实现,模拟了STL中的`set`和`map`容器。通过封装同一棵红黑树并进行适配修改,实现了两种容器的功能。主要步骤包括:1) 修改红黑树节点结构以支持不同数据类型;2) 使用仿函数适配键值比较逻辑;3) 实现双向迭代器支持遍历操作;4) 封装`insert`、`find`等接口,并为`map`实现`operator[]`。最终,通过测试代码验证了功能的正确性。此实现减少了代码冗余,展示了模板与仿函数的强大灵活性。
404 2
|
前端开发 数据安全/隐私保护
crypto-js中AES的加解密封装
文章介绍了如何在前端使用crypto-js库进行AES加密和解密,提供了加解密的函数封装示例,并演示了如何加密和解密字符串或对象。
1808 2
crypto-js中AES的加解密封装
|
编译器 C语言 C++
【c++丨STL】list模拟实现(附源码)
本文介绍了如何模拟实现C++中的`list`容器。`list`底层采用双向带头循环链表结构,相较于`vector`和`string`更为复杂。文章首先回顾了`list`的基本结构和常用接口,然后详细讲解了节点、迭代器及容器的实现过程。 最终,通过这些步骤,我们成功模拟实现了`list`容器的功能。文章最后提供了完整的代码实现,并简要总结了实现过程中的关键点。 如果你对双向链表或`list`的底层实现感兴趣,建议先掌握相关基础知识后再阅读本文,以便更好地理解内容。
387 2
|
C语言 C++ 容器
【c++丨STL】string模拟实现(附源码)
本文详细介绍了如何模拟实现C++ STL中的`string`类,包括其构造函数、拷贝构造、赋值重载、析构函数等基本功能,以及字符串的插入、删除、查找、比较等操作。文章还展示了如何实现输入输出流操作符,使自定义的`string`类能够方便地与`cin`和`cout`配合使用。通过这些实现,读者不仅能加深对`string`类的理解,还能提升对C++编程技巧的掌握。
694 6
|
存储 编译器 C++
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
371 2
|
设计模式 JavaScript
JS发布订阅模式封装(纯手工)
发布订阅模式是JS常用的设计模式,在面试中也会经常遇到,以下是我的手写实现方式,经测试效果不错,小伙伴们们可以直接拷贝使用。
207 10
|
存储 数据可视化 C++
【C++】C++-学生考试题库管理系统(源码)
本系统设计了一个选题管理流程,包括读取题目信息、随机抽取题目、保存及查询选题结果等功能。使用 `readProjects` 从文件读取题目信息,`drawProject` 随机抽取未选中的题目,`saveSelection` 保存选题结果至文件,`querySelection` 查询并显示所有选题结果。主函数提供菜单界面,支持学生信息输入、抽题及结果查询。关注【测试开发自动化】公众号,回复“题库”获取源码。
336 1
|
存储 编译器 C语言
C++ --> string类模拟实现(附源码)
C++ --> string类模拟实现(附源码)
307 4
|
移动开发 JavaScript 前端开发
专为webkit内核而生的javascript库mango正式发布
专为webkit内核而生的javascript库mango正式发布