开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 6042|回复: 20
收起左侧

[支持库源码] My-E-CEF3[4044] 1.06添加与JS交互功能,类似zc函数功能,修复CEF3_设置HOOK脚本()

[复制链接]
发表于 2020-7-22 14:16:52 | 显示全部楼层 |阅读模式   四川省遂宁市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 逆風飛翔的瘋狂 于 2020-7-22 15:45 编辑

先不废话,上图:———————————————————————————————————————————————
JS交互效果图
JS交互效果图1.JPG
JS交互实现代码
JS交互效果图3.JPG
JS交互回调函数
JS交互效果图2.JPG
JS交互测试网页代码,详见附件"text.html"
JS交互效果图4.JPG
CEF3_设置HOOK脚本“效果图
hook效果.JPG


功能详细说明:
———————————————————————————————————————————————
一、JS交互实现原理
1.JS交互利用的是CEF3所提供的cef_message_router.h中的CefMessageRouterBrowserSide和CefMessageRouterRendererSide,具体介绍感兴趣的可以去CEF3官网看技术文件,这里我就不多说了,这功能有点类似进程间通信,但也不一样,主要就是实现主进程和子进程间的通信,所以这个功能单进程模式下和多进程模式下都可以使用,还是非常强悍的;
2.如上面图片所示,此功能在易语言中调用必须用在初始化前面、初始化前面、初始化前面,重要的事说三遍,为什么了?不想说,想知道的可以去看我之前的帖子或者去了解单进程模式和多进程模式的区别;还有代码中也有我注释的说明,多看看如果没人看,我下次就不写了,让你们自己猜去
3.为什么说这个功能类似“zc函数”,因为他和“zc函数”一样,实现了js和CEF3和易语言的交互,其实这是句废话,但又不同于“zc函数”,因为调用此功能网页中JS有格式规定,怎么个格式规定了,代码里有,自己看,我就不废话了;
4.更关键的是他支持多进程模式,多进程模式,多进程模式,重要的事还是要再说三遍!

———————————————————————————————————————————————

二、“CEF3_设置HOOK脚本”模式为什么要变更,为什么之前版本不行
       “CEF3_设置HOOK脚本”代码实际上之前版本未做任何修改,就是黑猫的代码,但为什么用不了,唯一变得是内核变了,所有只有一个可能,就是内核的支持变了,查找官方文件才知道,支持库中CResHandler::ReadResponse使用方法变了,以前的调用方法不再支持,虽然修改过后,原模式可以用(hook的代码在komari17.js),但非常容易奔溃,如图,官方警告 11111111111111.JPG ,试了很多办法都不行,奔溃得我都想砸电脑了,好吧,我有点冲动,也可能我没找到好的方法,当然还是那句话如果那个大神有好的方法,小弟非常希望能学习一二
所以修改模式为hook代码直接添加到网页head中,如图 11.JPG ,一样实现了hook的功能,使用的方法其实也是拦截修改zy,不一样的地方只是不在去加载修改“komari17.js”这个“并不存在”的js,而直接在网页zy中去修改稳定性比之前模式好很多!其实这个方法hook全部网页我用C++测试了半天一点问题没有,一上易语言部分网页也出现了崩溃的现象,不晓得撒子原因,把要崩溃的网页用C++实验也半毛线问题没得,难道是…………,好了我也不知道,所以这里建议不要hook全部网页,我估计应该也没人这么做吧
———————————————————————————————————————————————
PS:这个版本初始化增加两个参数,一个是errortype,一个是logtype,
errortype用于程序异常后是直接退出还是忽略异常,这个灵活使用,部分可控异常可以完全忽略,不影响主程序运行;
logtype用于记录浏览器运行的错误,警告信息什么的,这就不多说了,代码里面都有
———————————————————————————————————————————————
三、申明及更新记录(详见附件)
申明:本功能是在黑猫《E(CEF3++) Template Library》3203 1.32基础上修改
支持原作者的同时,遵循原CEF(Chromium Embedded Framework 3 Builds)的开源协yi
修改人:ベ時間の加速度&奔跑ミ
联系QQ:见附件,至少让我赚点精币撒

14:06 2020/7/22 《My-E-CEF3[4044] 1.06》
添加与JS交互功能并实现易语言回调,支持单进程和多进程模式,类似zc函数功能,但JS传参方式有所变化,详见代码;
一.内核支持变更
太多,不想写了,我估计这里面也没人看;
二、模块变更
1.“CEF3_设置HOOK脚本()”功能模式变更,修复之前版本HOOK无效;
2.添加“CEF3_zcJS交互”功能;
3.“CEF3MainSettings”添加errortype,logtype为初始化提供参数,详见例程;
三、发现问题

四、解决问题

———————————————————————————————————————————————
下载地址及更新记录(依然全部开源,支持的人多继续,没人支持就看心情):
修改说明及记录.txt (8.5 KB, 下载次数: 4)

修改说明及记录.txt

7.4 KB, 下载次数: 3, 下载积分: 精币 -2 枚

下载地址.txt

134 Bytes, 下载次数: 9, 下载积分: 精币 -2 枚

点评

PPAPI版flash播放器 flash我有啊 cef之前版本不需要啊   安徽省合肥市  发表于 2020-7-22 21:05

评分

参与人数 6好评 +6 精币 +10 收起 理由
9958900 + 1 + 2 支持开源~!感谢分享
肆玖叁贰 + 1 + 2 支持开源~!感谢分享
webmaster999 + 1 支持开源~!感谢分享
65426548 + 1 + 2 支持开源~!感谢分享
逸凡 + 1 + 2 支持开源~!感谢分享
bdancerlc + 1 + 2 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

 楼主| 发表于 2020-7-25 11:29:36 | 显示全部楼层   四川省遂宁市
本帖最后由 逆風飛翔的瘋狂 于 2020-7-25 11:31 编辑

不稳定,有问题,多看看说明和我的更新日志,如果你觉得不好用,不用就是了,或者你自己也可以改源码,源码我都全部开源,连库文件都给出来了!反正就目前为止我自己用着稳定性还可以,虽然我用户不多,也就200多号人!所以伤人的话和藐视别人劳动成果的话就别来说,本我就是自己要用,顺便开源而已!还是那句话,有人支持我就继续开源,没人支持我自己用就是了,我也没什么损失!
回复 支持 反对

使用道具 举报

结帖率:100% (9/9)
发表于 2020-8-1 20:33:52 高大上手机用户 | 显示全部楼层   福建省厦门市
感谢分享,,,
回复 支持 反对

使用道具 举报

结帖率:75% (24/32)
发表于 2020-7-29 16:20:13 | 显示全部楼层   江苏省苏州市
谢谢分享···
回复 支持 反对

使用道具 举报

发表于 2020-7-29 15:13:43 | 显示全部楼层   北京市北京市
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-7-28 16:44:53 | 显示全部楼层   广东省惠州市
下载学习
回复 支持 反对

使用道具 举报

结帖率:42% (5/12)
发表于 2020-7-27 11:22:44 | 显示全部楼层   河南省安阳市
好东西
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)

签到天数: 1 天

发表于 2020-7-26 22:03:07 | 显示全部楼层   安徽省合肥市
谢谢分享···
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-25 11:08:53 | 显示全部楼层   四川省遂宁市
fewfeng 发表于 2020-7-24 23:47
@逆風飛翔的瘋狂 楼主 这个是什么问题 单独进程编译的  FLASH 加载的提示这个

请看我的更新说明或者以前的单进程回归贴,单进程模式不支持播放视频
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-7-24 23:47:11 | 显示全部楼层   广西壮族自治区北海市
本帖最后由 fewfeng 于 2020-7-25 00:48 编辑

@逆風飛翔的瘋狂 楼主 这个是什么问题 单独进程编译的  FLASH 加载的提示这个
2222.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表