api wke_wke: 基于Webkit精简的纯C接口的浏览器内核,可用于桌面UI、浏览器。

wke是一个基于WebKit的浏览器引擎,源自2011年的版本,适用于桌面UI和简单浏览器开发。项目提供无脑版和深究版的编译方法,对于HTML5的支持有限,适合不追求最新特性的场景。项目维护者鼓励对WebKit有研究的人参与讨论和贡献。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wke 项目文档

目录

项目介绍

wke 是一个基于 WebKit 精简的浏览器引擎,原项目地址 https://github.com/BlzFans/wke。原作者已停止更新,本人出于技术研究的目的 fork 过来,业余时间继续维护,既学习 WebKit 的相关技术,也实验将 web 技术用于桌面UI。如果你对本项目感兴趣,欢迎请关注并随时提出你的宝贵意见。如果你也是一名 WebKit 的研究者、开发者,也欢迎你通过本项目来分享你宝贵的经验。

若想快速浏览一下本项目完整的修改历史,可以浏览提交日志。也可以查看修改记录了解最近的修改。若有任何与项目相关的问题或建议,欢迎加入QQ群 178168957 WebUI:wke/cef/mshtml/miniblink 反馈,内有大神。

编译指南

无脑版:不能保持源码同步

此方法是最简单、最顺利的编译办法,缺点是下载的 ZIP 源码包无仓库信息,无法保持和 git 仓库同步。

根据需要选择执行项目根目录的 vs2008.bat、vs2010.bat、vs2013.bat,该批处理会设置好依赖环境并用 VS 打开解决方案。

在解决方案中,首先编译 WebCore 项目,成功之后再编译 wkeBrowser、wkexe 项目。

严格按照上述步骤编译可避免99%的的踩坑翻车。如果想了解为什么必须这样编译,请见 FAQ2. 为什么编译出错。

深究版:可保持源码同步

若你是一个凡事穷根究底的人,或者想保持与 git 仓库同步,建议采集此方法。

仔细阅读GitHub 第一坑:换行符自动转换,然后按其说明设置好 git 客户端。

根据需要选择执行项目根目录的 vs2008.bat、vs2010.bat、vs2013.bat,该批处理会设置好依赖环境并用 VS 打开解决方案。

在解决方案中,首先编译 WebCore 项目,成功之后再编译 wkeBrowser、wkexe 项目。

无脑版下载 zip 包的主要目的是规避 git 客户端在 clone 时的一个巨坑:GitHub 第一坑:换行符自动转换,只要按照链接中的方法,设置好 git 客户端,就可以正常 clone、pull、push 仓库代码了。

FAQ

FAQ1. wke 对 HTML5 的支持如何?

wke 是由 WebKit 2011 年的版本精简而来,之后一直没有同步 WebKit 更新过,因此 wke 对 HTML5 的支持能力停留在 2011 年,一直未改进。一个更加直观的、然而不是很准确的概念就是 wke 对 HTML5 的支持大约是在 IE9 之上,在 IE10 之下,在 http://html5test.com 上跑分为 222 分,远在 CEF 的 530 分之下。因此若是对 HTML5 要求较高的环境,不建议使用 wke,请考虑 CEF 或者正在开发当中的 miniblink 内核。

FAQ2. 为什么编译出错?

99%的可能性是由于以下两个原因:

1. 脑残的 git 客户端 autocrlf 功能的问题:

JavaScriptCore、WebCore 项目编译时需要利用 perl、python 等脚本来从模板生成源码文件、从IDL生成接口文件等,为方便起见,wke 项目自带一个精简的 cygwin 项目,且已经预置了 perl、python 等软件,而 cygwin 版本的 perl、python 和 linux 版本的一样,只支持读取包含 linux 风格换行符(\n)的文件,这没有什么问题,因为 wke 项目中所有的模板文件、IDL文件都是 linux 格式的换行符。然而!!!,自作聪明的 git 客户端默认会开启一个脑残的功能 autocrlf,这个功能开启之后,使用 git 客户端拉取代码的时候,会将所有源码文件、模板文件、IDL文件的换行符强行修改为当前系统的换行符(在 windows 上即 \r\n),导致 perl、python 等软件无法正常读取文件,无法生成那一堆源码文件、接口文件…………,而下载 ZIP 包可以绕过 git 客户端的脑残功能。

如果想详细了解这个问题,请查看链接 GitHub 第一坑:换行符自动转换。

2. 智障的 VS2010 - VS2013 找不到自己 nmake 问题:

如上所述 JavaScriptCore、WebCore 项目编译时需要利用 perl、python 等脚本来生成一堆文件,而 perl、python 是VS通过自家的 nmake 调起来的。然而患了肥胖症兼老年痴呆的 VS2010 - VS2013,默认找不到 自家的 nmake,必须在启动VS之前调用一下 vsvars32.bat 设置环境变量。项目根目录 vs2010.bat、vs2013.bat 等文件的作用其实就是这个。VS2008 倒是没有这个问题,但为统一起见,也在根目录下放了一个 vs2008.bat。

执行以上操作若仍未解决问题,请加QQ群 178168957 WebUI:wke/cef/mshtml/miniblink 反馈。

FAQ3. 为什么解决方案中 wke 项目没有设置为依赖 WebCore 项目?

如 FAQ2. 为什么编译出错 中的原因所描述的,因 JavaScriptCore、WebCore 等项目编译前会有很多的脚本调用,不论项目是否已经编译成功过,这些调用每次都会执行一遍,很费时间,而实际上 WebCore、JavaScriptCore 这两个项目在开发当中,是极少会有修改真正需要重新编译的。如果把 wke 设置为依赖 WebCore,那么每次 wke 编译都会导致 WebCore、JavaScriptCore 项目进行脚本调用,花费不必要的时间,因此折衷处理:设置 wke 不依赖 WebCore,在项目初始编译或者 WebCore 真正有修改时时,手动编译一次 WebCore,然后绝大多时间编译都不用花费不必要的脚本调用时间了。

贡献者名单

BlzFans

BlzFans 此位大侠功力深不可测然而为人极低调,将 wke 项目甩给开源界之后,从容离开去实现自己更高的人生价值了,挥一挥衣袖,不带走一声膜拜。感谢他的努力,如今我们除了在他开凿的道路上逶迤前进,也希望有一天他能够再次回到 WebUI 的队伍中来,带我们直接飞往 WebUI 技术的巅峰。

Vincent.Lin√

Vincent.Lin√ 是促成建立QQ群、建立 github 项目的原老。wke 之前一直没有QQ群和持续维护的开源项目,直到某次偶遇 Vincent.Lin√ 并和他一起解决了几个 wke 的BUG,才萌生了要建立一个QQ群,新建个开源项目的想法,从此BUG修复、新增功能之类的有了一个分享和积累的仓库,wke 的用户有一个交流的场所。

(__少

(__少 也是群的原老之一,为 wke 贡献了不少代码,比如增加了 cookie 操作的接口、增加了 POST 方式加载页面的接口等。作为群管理员(老鸨)之一,任劳任怨,XX如一日每日参与讨论技术问题、闲聊扯谈、为新人答疑解惑。

光 光

光 光 此君也是来无影去无踪的大神。wke 之前只有 vs2005、vs2008 的VS项目文件,经常有人想用 vs2010、vs2013 等版本来编译而不知法,苦得哭爹喊娘,光 光 这时候出来为 wke 贡献了 vs2010、vs2013 的工程。然后他也神秘消失了。然而也许 vs2017、vs2018 上市,我们为编译问题焦头烂额的时候,他又会踏着七色云彩出来解救众生。

蚂蚁

蚂蚁 老师是如今 wke 群的中坚技术力量,久经杀场,经验丰富,上能架构集群,下能逆向驱动。蚂蚁 老师不仅解决了困扰我们已久的 wke 绘制慢的问题(比如某些情况下会导致 codemirror 滚动条卡顿),并且实现了人民呼声很高的 websocket 功能(现在 wke 也能玩蝌蚪聊天了),功莫大焉。

SOUI作者

SOUI 是新一代 DirectUI 界面库,其作者在我的记忆中是最早将 wke 从开源网站中拿到实际的 SOUI 工程中。他为 wke 增强了不少功能、修复了一些 BUG,比如绘制回调、URL改变回调等。也是从他的 SOUI 群里 wke 被越来越多的人知道。我们的这个项目仓库里,就有他最早的贡献,有兴趣的可以加他的 SOUI QQ群 229313785。

其它贡献者

其实还有很多其它人,也为 wke 项目做过贡献过,不管是代码上的还是别的方法的的贡献,在此一并感谢。

是每个贡献者的一份力量一起,使 wke 越来越强大!

界面透明度247,所以软件看起来有点背景有图案花色的样子是因为背景的壁纸关系 调用了WKE引擎 通过HTML5 / JS /CSS 构造易语言UI窗口交互,使其富有更强大动画,视觉效果 本框架免费,无毒,无暗桩,请放心使用 增加了整体窗口UI美化,滚动条,标题栏,控制按钮关闭,缩小,全屏等常用组件 引擎使用了WKE,框架自行封装调用。 本人QQ:741896542  如需提问,欢迎加QQ 2016-12-07:     增加 wkeJSSimpleBind 接口,绑定简单的全局函数     渲染性能优化     增加一些不支持特性的兼容性     增加401验证回调接口: wkeOnResponseHttp401 2016-12-06:     修正手形鼠标     修正wkeWindowOnPaint返回值的默认处理     修正编辑事件     修正输入法位置 2016-11-15:     改进字体显示效果     Tip提示改为5秒后消失 2016-11-14:     修正alt(tips)显示问题     重新修改编码识别部分。目前没发现有识别错误的网站 2016-11-12:     增加透明webView的例子     修改文件系统接口回调为: wkeOnReadFile(...); 2016-10-20:     修正websocket关闭问题 2016-8-31:     修正gif动画花的问题     修正个别网站字体模糊问题 2016-8-29:     增加MimeType过滤接口     增加EnableNewWindow设置,如果为true, 那么将允许多进程窗口     增加下载接口     修正 JavascriptCore 一个浮点bug 2016-8-25     重写消息循环模式,重绘事件在独立线程完成     修正 Flash 不支持硬件加速的问题     提高js脚本下载优先级     重新加入C API模式     修正原本的几个bug     增加几个常用语言的识别 2016-8-22      加入JavascriptCore文字变量支持      优化 cairo 绘图性能 2016-8-17     修正mail.qq.com乱码问题     更新 curl到 7.50.1     加入未知编码自动识别判断 2016-8-13     加入WOFF图标显示支持     改进 Websocket支持     修正youku视频无法播放问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值