There exists at least one project that has similar requirements and it embeds Gecko. That's Aptana's Jaxer. As far as I know, they have had good success with this. This doesn't quite answer your question, but it does demonstrate that this is certainly doable with Gecko, and there is GPL'd code available that you can look at as to how to do this (Jaxer is an open source project).
There has also been a similar question asked in the past on this. I don't agree with all those answers, as there is some misinformation there such as Firefox being the dictator of what happens in Gecko (it certainly influences, but is not the deciding factor).
我有偏见,但我会说 WebKit。 特别是通过使用 QtWebKit,应该很容易拥有一个非可视化 Web 引擎(具有所有花哨的功能,除了绘画)。 如果人们真的关心排除所有与绘画相关的代码,则代码库足够模块化(尤其是平台抽象层),这可以在合理的时间范围内完成。
I am biased, but I would say WebKit. Especially through the use QtWebKit, it should be easy to have a non-visual web engine (with all the bells and whistles, except painting). And if one is really concerned about excluding all the painting related code, the code base is modular enough (especially the platform abstraction layers) that this can be done in a reasonable time frame.
Notice that QtWebkit (and webkit in general i think) will require you to have an active x server - even though you do not show any GUI (It is required in the core of Qt as QWebPage uses QWidget). This might be a design flaw in Qt - i havent investigated further into why they might have done this.
发布评论
评论(3)
至少存在一个具有类似需求的项目,并且它嵌入了 Gecko。 这是 Aptana 的 Jaxer。 据我所知,他们在这方面取得了很好的成功。 这并不能完全回答你的问题,但它确实表明这对于 Gecko 来说肯定是可行的,并且有可用的 GPL 代码,你可以查看如何做到这一点(Jaxer 是一个开源项目)。
还有一个 提出了类似的问题过去对此。 我不同意所有这些答案,因为其中存在一些错误信息,例如 Firefox 是 Gecko 中发生的事情的独裁者(它肯定会影响,但不是决定因素)。
全面披露:我负责 Mozilla 代码库。
There exists at least one project that has similar requirements and it embeds Gecko. That's Aptana's Jaxer. As far as I know, they have had good success with this. This doesn't quite answer your question, but it does demonstrate that this is certainly doable with Gecko, and there is GPL'd code available that you can look at as to how to do this (Jaxer is an open source project).
There has also been a similar question asked in the past on this. I don't agree with all those answers, as there is some misinformation there such as Firefox being the dictator of what happens in Gecko (it certainly influences, but is not the deciding factor).
Full disclosure: I work on the Mozilla codebase.
我有偏见,但我会说 WebKit。 特别是通过使用 QtWebKit,应该很容易拥有一个非可视化 Web 引擎(具有所有花哨的功能,除了绘画)。 如果人们真的关心排除所有与绘画相关的代码,则代码库足够模块化(尤其是平台抽象层),这可以在合理的时间范围内完成。
I am biased, but I would say WebKit. Especially through the use QtWebKit, it should be easy to have a non-visual web engine (with all the bells and whistles, except painting). And if one is really concerned about excluding all the painting related code, the code base is modular enough (especially the platform abstraction layers) that this can be done in a reasonable time frame.
请注意,QtWebkit(我认为一般来说是 webkit)将要求您拥有一个活动的 x 服务器 - 即使您没有显示任何 GUI(这是 Qt 核心所必需的,因为 QWebPage 使用 QWidget)。
这可能是 Qt 中的一个设计缺陷 - 我还没有进一步调查他们为什么这样做。
Notice that QtWebkit (and webkit in general i think) will require you to have an active x server - even though you do not show any GUI (It is required in the core of Qt as QWebPage uses QWidget).
This might be a design flaw in Qt - i havent investigated further into why they might have done this.