精易Web浏览器支持库(miniblink内核)-正式版发布 1.7.620 - 易语言源码网

广大易友们! 精易Web浏览器支持库易语言版(https://bbs.125.la/thread-14192959-1-1.html) 发布至今,已经有近一个年头。在这一年中,首先感谢大家的支持,也感谢大家对开发和测试工作作出的反馈和贡献。 有了你们支持库才能做的更好,为广大的易友的生态环境创建更好的明天。 但易语言在开发支持库上面,如果涉及到一些指针、内存调用等方面,则会显示出劣势,软件崩溃问题、卡死问题无法得以解决。 故此,在易语言版测试后不久,便决定要使用C语言重写支持库。 经过紧锣密鼓的筹划与前期准备工作,支持库开发正式开始,在这过程中,感谢开发人员克服困难重重,披荆斩棘。 本支持库使用的Web浏览器内核来自于 Miniblink , 该作者一直在维持该项目的更新不少年头了, 因为有了他默默无闻的付出, 大家才能这么愉快的使用。 支持库将持续更新,为大家提供最好用,最高效的易语言wke内核浏览器。

下面:一起为weolar 、zero点赞,感谢他们的辛苦付出

该项目是开源的,欲了解该技术核心细节的 可以访问该地址:https://github.com/weolar/miniblink49 获取内核源码

LICENSE: (由于篇幅较长,帖子内容显示有限,采用连接形式附上)https://raw.githubusercontent.com/weolar/miniblink49/master/LICENSE

重写支持库说明:本次更新完全使用C语言重写,相比易语言,稳定性提升,速度提升,C语言原生调用,带来原汁原味的快感。【C语言支持库的好处】 原生调用,方法、函数、类型等即得即用,无需转换xx类型及读写内存。 指针、内存、回调统统搞定 cdcel与stdcall直接调用,无需自己实现转换,稳定性+100% 使用易语言官方提供的、有保障的头文件,错误率<0.1% 直接编译生成动态库fne,静态库lib,无需转换,安全稳定 超过数千行的源代码,完整重构 对原支持库的逻辑和结构进行优化总结起来三个字:稳 快 好--------------------------------------------------------------------miniblink内核dll更新迭代次数:20次以上(距离上次易语言正式版支持库发布)累计BUG修复约:110+项累计功能性改进约:170+项再次感谢miniblink作者的更新维护。【性能提升】 启动速度提升:30%以上,xx经过打开到加载完毕时间统计获得。 操作响应速度提升明显。在不特别复杂的网页逻辑下,响应速度提升明显。 动画速度与显示效果提升,使效果更加平滑。具体可以参考组合框、颜色选择器等组件。------------------分割线----------------【更新日志】1.7.616更新说明:此版本开源了 内核升级: 使用最新版: miniblink49内核,版本:20220405 如果不指定路径, 程序在运行时会按以下顺序检测dll 1. miniblink_4975_x32.dll 2. miniblink_4957_x32.dll 3. miniblink_4949_x32.dll 4. node.dll 如果以上4个文件都不存在, 那会提示找不到dll 修复: 1. 修复事件不触发的问题 2. 修复已知bug 3. 优化程序稳定性 4. 新增: 1. 插件使用说明: 在浏览器组件dll同级目录下新建plugins文件夹,将要用的插件放入目录即可。 比如要支持Flash插件, 就请放入 NPSWF32.dll 或者 NPSWF64.dll【正式版】2020年11月25日 版本号: 1.6.1125 更新说明: 修复: *新窗口无法弹出的问题 *ajax失效问题 *修复新窗口无法挂接事件的问题 *获取所有Cookie() 会崩溃的问题 *修复新窗口创建失败的问题 新增: *新增一个事件, #浏览器事件_绘画事件, 浏览器发生重画时触发, 使用 挂接事件() 进行挂接 删除: *弃用支持库里所有对cookie进行二次封装的命令, 所有cookie相关的命令都是原封调用node.dll 设置cookie请调用 设置cookie_CURL(), 该命令原封调用node.dll的wkeSetCookie接口 支持库所有cookie相关的命令都是原封调用node.dll, 不会做任何修改将wke.fne放入到【易语言目录\\lib\\】文件夹中将wke_static.lib放入到【易语言目录\\static_lib\\】文件夹中将node.dll放入到【易语言目录\\】文件夹中=====================请注意:该版本与旧版(原2018年7月版)可以做到直接替换,但请注意:由于支持库结构不同,窗口的通用消息无法直接使用,具体用法请看例程。本支持库将可以直接与原支持库替换,故目前直接与原支持库使用相同名字。请确认已经仔细阅读过【使用说明】后进行下载:下载地址:

百d网盘 链接:https://pan.baidu.com/s/16aBY-IhIGclfvBM5Gf1NAw?pwd=4fyk
蓝奏云下载 链接:https://lanzout.com/ixUxn06qdobg

【反馈渠道】1. 在本帖内回复。2. 在群内直接@项目部006回复。①群:567959748(点击即加群)②群:已满③群:已满【常见问题, 请仔细查看, 您遇到的所谓bug, 很多都在这有说明, 后期会慢慢增加常见错误】----------------------------------------------------Q. 使用1.7版本的支持库后打开源码出现wke api not found怎么解决?A. 这是使用了不同版本的dll导致的, 请按照以下步骤进行操作 1. 删除易语言目录下的 node.dll, 易语言目录\\lib\\ 下的node.dll, 如果没有可以不用管 2. 从发布版本的压缩包内找到例程, 例程下有3个miniblink_49xx_x32.dll文件 xx表示v8版本, 49表示mb内核版本, 几个dll有什么区别请参考下一条问答 3. 根据自身需求, 把对应的dll放到易语言的根目录下即可 比如: 把miniblink_4975_x32.dll 放到易语言跟目录, 或者把3个文件放进去也行 不需要修改文件名, 或者把文件名改成node.dll再放进去也可以----------------------------------------------------Q. 1.7 有好几个dll, 我应该怎么选择呢?A.miniblink_4975_x32.dll是miniblink的主dll,wkexe_4975_x32.exe是测试程序。此dll使用75版本v8,且带了nodejs miniblink_4949_x32是不带nodejs版本的miniblink,并且使用48版本v8。由于v8版本比较老,很多js语法不兼容,不推荐使用 miniblink_4957_x32.dll是带nodejs的、使用57版本v8的miniblink请根据需要自行选择, 在没有指定dll路径的情况下, 支持库会按以下顺序检测加载dll 1. miniblink_4975_x32.dll 2. miniblink_4957_x32.dll 3. miniblink_4949_x32.dll 4. node.dll----------------------------------------------------Q. 1.7 压缩包里那么多文件, 哪些文件对我有用?A. 1.7 压缩包文件结构如下lib ->wke.fne,【必选】这个是支持库主文件static_lib->wke_static.lib,【必选】这个是支持库静态库文件, 静态编译时使用例程 front_end,【可选】这个文件夹是DevTools工具使用的文件, 就是浏览器F12的那个窗口, 调用方法请参考例程源码 plugins,【可选】这个文件夹是mb使用的插件, 用来支持flash等功能, 调用 \"调试功能.NPAPI插件开启关闭()\" 开启关闭 miniblink_49xx_x32.dll,【必选, 至少一个】这些dll就是mb的主dll, 区别请参考上一条说明 wkexe_49xx_x32.exe,【测试用】这些是mb官方的测试程序, 分别调用对应文件名的dll *.e 文件,【测试用】这些是例程源码----------------------------------------------------Q. 为什么无法设置cookie目录和缓存目录?A. 设置目录是调用node.dll的接口, node.dll中并没有创建目录, 所以设置目录前需要先确定目录是否存在, 不存在则需要自己创建----------------------------------------------------Q. 为什么设置了多个cookie目录了, 运行后只设置了最后一个目录? 打开多个网页cookie还是会共用?A. 精易web支持库封装的是开源版的miniblink, 开源版的版本是不支持多文档多cookie的, 所以无法达到一个网页一个cookie 不管设置了几个cookie目录, node.dll都只会使用最后一个目录来作为cookie目录 如果需要多文档多cookie的, 可以使用多进程的方式来实现(后期官方可能会出单独的例程)----------------------------------------------------Q. 为什么cookie无法使用?A. 请使用\"精易Web浏览器支持库\"里 获取cookie 的返回值来进行设置cookie 或者请调用 设置cookie_CURL() 来进行设置, 这个是调用node.dll的wkeSetCookie接口, 不做任何修改(1.3.1210后的版本增加)Q. 为什么提示找不到dll命令?wke api not foundA. 请将\"node.dll\" 这个文件放到易语言根目录下,调试时会从这个文件夹里寻找\"node.dll\"文件,\"这两个目录必须要要node.dll\" 如果是编译的版本,请将\"node.dll\" 存放到你编译好的程序的目录下, 或者存放到指定目录, 然后在程序中设置路径----------------------------------------------------Q. 为什么我设置dll路径后还是提示无法找到命令? wke api not foundA. 如果您的node.dll不是存放在程序的目录下,那么可以使用 wke_设置dll路径(\"node.dll完整路径\") 来设置node.dll的路径 设置的前提是,必须在窗口载入完毕之前设置, 如果在 __启动窗口_创建完毕这个事件下设置是无效的 因为触发 __启动窗口_创建完毕 这个事件之前就已经调用了 node.dll的命令了,所以还没有设置的时候就已经提示错误了正确的设置方法: 把 \"_启动窗口\" 改为其他名字, 比如改成 \"窗口_主窗口\" 新建一个子程序,子程序名字为 \"_启动子程序\",这个子程序有一个整数型的返回值 然后在 \"_启动子程序\" 下第一行代码写上 wke_设置dll路径(\"你的node.dll完整路径\") 最后在调用 载入(窗口_主窗口,,假)这才是正确调用 wke_设置dll路径() 的方法----------------------------------------------------Q. 为什么不能在多线程中调用A. 精易web支持库封装的是开源版的miniblink, 开源版的版本是禁止跨线程调用的 如果确实需要多线程调用组件的,可以将调用代码放入到 _标签_反馈事件中, 再通过反馈事件进行调用wke----------------------------------------------------Q. 为什么无法静态编译?A. 请把wke_static.lib 文件放到易语言 static_lib 目录下在进行编译 如果还是出错,请把其他支持库取消选择后重试 如果通过上述解决方案还是无法静态编译,请将易语言输出的 错误信息,出错系统版本,易语言版本,易语言核心库版本等信息在帖子中回复,或者在群内@项目部006注意: 请勿将支持库(wke.fne)或者静态库(wke_static.lib)文件名修改----------------------------------------------------Q. 为什么我取回的网页源码是乱码?A. 因为考虑到网页中可能会有一些gb2312无法显示的字符,所以现在的返回文本都是以utf8的形式返回 如果是按gb2312的形式返回,那么这些无法显示的字符会变成问号\"?\",且无法逆转,而utf8解决了这一个问题 以gb2312的形式来显示utf8就会出现乱码,精易web支持库已经提供了几个常用的编码转换,大家可以调用来转换----------------------------------------------------Q. 为什么 Url载入结束 事件没有触发?A. 触发 url载入结束 事件需要在 Url载入开始 下hook网络请求,而这个hook会占用比较多的zy 为了使得程序能更稳定的运行,我们在内部把这个hook取消了 如果需要触发Url载入结束,请在Url载入开始时,判断哪些网页需要触发Url载入结束,然后调用 特殊功能对象的 拦截网络请求(Job) 方法 如果您想每个网页都触发 Url载入结束事件,那么在 Url载入开始事件下不判断Url地址直接调用 特殊功能.拦截网络请求(Job) 这样每个url载入结束都会触发,但是, 我们不建议您这么做 详情请参考历程里的url载入结束触发例子.e----------------------------------------------------Q. 为什么无法打开本地HTML文件?A. 使用 精易Web浏览器.url = \"本地HTML路径\"或者 精易Web浏览器.浏览网页(\"本地HTML路径\") 是无法浏览的 精易Web支持库中有提供了载入本地HTML或者内存HTMLxx 载入本地HTML文件请调用 精易Web浏览器.载入HTML文件(\"本地HTML文件\") 载入内存HTMLxx请调用 精易Web浏览器..载入HTML文本(\"utf8 HTML文本\")----------------------------------------------------如果你觉得本产品好用,给你的生活/工作/学习带来方便,请支持我们,购买赞助会员,享有多项特权 点我下载 (已有 6700 次下载)

支持库信息

支持库名称: 精易Web浏览器1.7#620版
支持库文件名: wke.fne
支持库类型: 静态库
支持库开发者: 精易科技
支持库 GUID: {6EC0A773-ABA1-49F4-AFD2-977EA30C0D4E}
所需链接器: VC++ 6.0
下载链接:

本地下载
精易Web浏览器1.7#620版(静态版wke.fne)
精易Web浏览器1.6#1125版(静态版wke.fne)
精易Web浏览器1.3#1231版(静态版wke.fne)
精易Web浏览器1.3#710版(静态版wke.fne)
精易Web浏览器1.0#0版(静态版wke.fne)