有没有人将firefox Web浏览器技术嵌入到他们自己的[非托管] C / C ++ GUI应用程序中,就像IE可以作为COM对象嵌入一样? (我想在Linux上这样做,而不是Windows)。 Firefox有“更好”的替代方案吗?只要我可以将它与非GPL代码一起使用,我就会对任何事情持开放态度。我的需求相当基本;我只需要基本的HTML解析和静态本地文件的显示,但如果我能得到它,我会利用更复杂的技术。我希望能够使用JavaScript,但如果没有它,我可以顺利完成。
答案 0 :(得分:9)
首先,您需要区分HTML引擎和JavaScript引擎。
Firefoxs HTML渲染引擎名为Gecko。以下是Embedding Gecko in your application。
Firefoxs JavaScript引擎名为SpiderMonkey,此处为How to Embed SpiderMonkey in your C application
答案 1 :(得分:4)
结帐webkitgtk。它不是Gecko,而是基于Webkit。它基本上提供了一个可以在GTK +应用程序中使用的Web浏览器小部件。如果你想嵌入mozilla,Mozilla存储库的mercurial存储库中有些东西可以让你这样做,但是在我检查的时候它似乎没有得到很大的支持。
答案 2 :(得分:2)
可以在其他应用中使用Firefox的部分内容(例如Gecko渲染器)。有各种方法,包括wxWebConnect,wxWidgets的网络浏览器控件。另请参阅Embedding Gecko
另一种流行的解决方案是WebKit。同样,有多种方法可以使用它,包括QtWebKit(Qt工具包的包装器)和webkitgtk(已经由SB提到)。
答案 3 :(得分:2)
如Mozilla所述
不再支持壁虎的嵌入
因此请看前面提到的Chromium Embedded Framework或WebKit。或者,您可以关注Mozilla的新项目https://servo.org/。
您将在Is it possible to Embed Gecko or Webkit in a Windows Form just like a WebView?
上找到更多最新信息。答案 4 :(得分:1)
看看CEF (Chromium Embedded Framework)。它与WebKit非常相似,它还嵌入了内置的HTML和JavaScript引擎,但具有更好的WebGL和HTML5 Canvas支持。它是在BSD许可下发布的。