如何在 Delphi 应用程序中嵌入除 IE<n> 之外的浏览器对象
-
03-07-2019 - |
题
使用默认的 TWebBrowser 可以轻松嵌入 Web 浏览器。不幸的是,默认情况下出现的是 IE<n>。
我想知道如何集成 Gecko 或 WebKit。
- 有没有 VCL 的例子?
- 如果没有,人们将如何去做呢?
- 在哪里可以找到可嵌入格式的 Gecko 和/或 WebKit 核心的最佳位置?
解决方案
TWeb浏览器 是 IE。它不是浏览器的可插入结构。您可以将其他浏览器集成到您的应用程序中。看
其他提示
一个可行的替代方案是 CEF - Chromium Embedded Framework ,它封装了Chromium浏览器本身封装WebKit。该库作为普通DLL提供,带有导出的C API。
code.google.com/p/delphichromiumembedded
提供了delphi界面>我一直在使用我自己的界面实现并且工作得很好,虽然不太容易正确使用THTML或IE,但对于需要强大且可嵌入浏览器的人来说非常棒。
编辑:不幸的是,Lars打败了我,
有一个基于Gecko引擎的ActiveX控件试图呈现IWebBrowser API的精确副本(TWebBrowser使用)。
您可以在此处找到: http://www.iol.ie/ 〜洛卡/ Mozilla浏览器/ control.htm 不幸的是,它似乎暂时没有更新。最后一个版本基于Gecko 1.7.12,我相信Gecko目前高达1.9.x(用于Firefox 3)
另一种选择是THTMLViewer组件。我已经用了好几年了。
现在免费提供。该网站在这里 http://pbear.com/htmlviewers.html 。根据songbeamer网站( http://www.songbeamer.com/delphi/ )是Delphi 2009版本。
在过去的三年里,我在Delphi中嵌入Gecko的方式很少。一个在游戏中很晚才出现的图书馆(对我来说)是SourceForge上的 GeckoSDK项目。我在早期尝试使嵌入式Gecko在Delphi中正常工作时做了大量工作。我们首次尝试基于内部“浏览器”的Gecko渲染引擎。是使用Delphi和Gecko 1.8构建的。我们已经移动了,我们的浏览器现在是 XULRunne r应用程序。我的硬盘驱动器上还有一些代码,但是我还没有删除那个早期的尝试。
当Mozilla发布Gecko 2.0时,我认为嵌入Delphi会更容易。 Gecko中的XPCOM对象系统使得嵌入非常困难,因为大多数东西都返回NS_RESULT。字符串特别难。
编辑:我只看了我的旧书签(几乎所有书签已经死了)并搜索了日语“bagel”的新网址。浏览器基于Gecko并在此处找到,
http://github.com/plus7/bagel/tree/master/Legacy 。
这可能是您开始使用优秀代码的最佳选择。不幸的是,代码中的注释是日语,作者从未回答过问题。