您会选择哪一个为什么?
我想通过在C ++应用程序中嵌入Web浏览器引擎来听取经验的人的意见。
我应该强调我需要Web浏览器引擎的所有功能除了呈现,即HTTP客户端,cookie处理,DOM样式HTTP解析器,JavaScript引擎。如何剥离 WebKit或Gecko呈现代码以避免编码和运行时开销?
答案 0 :(得分:6)
至少存在一个具有类似要求的项目,它嵌入了Gecko。那是Aptana's Jaxer。据我所知,他们在这方面取得了很大的成功。这并没有完全回答你的问题,但它确实证明了这对Gecko来说当然是可行的,并且有可用的GPL代码,你可以看看如何做到这一点(Jaxer是一个开源项目)。 / p>
此处也有similar question asked in the past。我不同意所有这些答案,因为有一些错误信息,例如Firefox是Gecko中发生的事件的独裁者(它肯定会影响,但不是决定因素)。
完全披露:我在Mozilla代码库上工作。
答案 1 :(得分:3)
我有偏见,但我会说WebKit。特别是通过使用QtWebKit,应该很容易拥有一个非可视化的Web引擎(除了绘画之外所有的花里胡哨)。如果一个人真的担心排除所有与绘画相关的代码,那么代码库就足够模块化了(特别是平台抽象层),这可以在合理的时间范围内完成。
答案 2 :(得分:0)
请注意,QtWebkit(以及我认为的webkit)将要求您拥有一个活动的x服务器 - 即使您没有显示任何GUI(Qt的核心需要它,因为QWebPage使用QWidget)。 这可能是Qt中的一个设计缺陷 - 我没有进一步调查他们为什么会这样做。