【问题标题】:How to embed a browser object, other than IE<n>, in a Delphi application如何在 Delphi 应用程序中嵌入浏览器对象,而不是 IE<n>
【发布时间】:2008-10-02 14:48:16
【问题描述】:

使用默认的 TWebBrowser 可以轻松嵌入 Web 浏览器。不幸的是,默认出现的是 IE

我想知道如何集成 Gecko 或 WebKit。

  1. 是否有 VCL 示例?
  2. 如果没有,怎么做?
  3. 在哪里可以找到嵌入格式的 Gecko 和/或 WebKit 内核的最佳位置?

【问题讨论】:

    标签: delphi webkit gecko browser embedded-control


    【解决方案1】:

    TWebBrowser IE。它不是浏览器的可插入结构。您可以将其他浏览器集成到您的应用程序中。见

    时光荏苒

    这个答案是从 08 年开始的,从那时起时间已经过去了。这些链接不再有效,现在可能有更好的选择。

    【讨论】:

    • 我并不是在暗示 TWebBrowser 是一个可插入的接口。我完全知道它是 IE :)
    • 我很喜欢你的链接,但是,因为我早期在谷歌上搜索这件事并没有返回任何感兴趣的内容:)
    • 查看“Bagel”项目。在我的回答中查看更多信息。
    • 你链接到 newbielabs.com 有误,应该是:ftp.newbielabs.com/Delphi%20Gecko%20SDK
    • @stukelly:谢谢。我修复了链接
    【解决方案2】:

    一个可行的替代方案是CEF - Chromium Embedded Framework,它封装了 Chromium 浏览器,而 Chromium 浏览器本身封装了 WebKit。该库以普通 DLL 的形式提供,并带有导出的 C API。

    code.google.com/p/delphichromiumembedded有一个delphi接口

    我一直将它与我自己的接口实现一起使用,并且效果很好,虽然不像 THTML 或 IE 那样容易正确使用,但对于需要强大且可嵌入的浏览器的人来说非常有用。

    【讨论】:

    • 感谢卡洛斯的提示。只是一个小忙:你能添加一个链接到你提到的那些 URL 吗?我无权编辑您的答案:) 谢谢。
    • 最新版本的 Chromium 嵌入 (CEF) 可以在这里找到:github.com/salvadordf/CEF4Delphi
    【解决方案3】:

    编辑:不幸的是,Lars 打败了我

    嗯,有一个基于 Gecko 引擎的 ActiveX 控件,它试图呈现 IWebBrowser API(TWebBrowser 使用)的精确副本。

    你可以在这里找到它:http://www.iol.ie/~locka/mozilla/control.htm 不幸的是,它似乎有一段时间没有更新了。最后一个版本基于 Gecko 1.7.12,我相信 Gecko 目前最高到 1.9.x(用于 Firefox 3)

    【讨论】:

      【解决方案4】:

      另一种选择是 THTMLViewer 组件。我已经用了好几年了。

      现在免费提供。网站在这里http://pbear.com/htmlviewers.html。根据 songbeamer 网站 (http://www.songbeamer.com/delphi/),有一个 Delphi 2009 版本可用。

      【讨论】:

      • 由于 PBear 的原作者无法再支持该代码,我们已将其开发移至:sourceforge.net/projects/htmlviewer
      • @PatrickvL:HtmlViewer 软件还在进一步开发吗?
      • @Edelcom :如果您查看 htmlviewer 项目网站,您会发现它同时被移至 google 代码。如果你看这里code.google.com/p/thtmlviewer/updates/list,你会发现最近的活动只是几天前,所以我认为答案是“是的!”。 ;-)
      【解决方案5】:

      在过去的三年中,我很少遇到将 Gecko 嵌入到 Delphi 中的方式。 GeckoSDK project on SourceForge 是游戏中(对我而言)出现的较晚的一个库。为了让嵌入式 Gecko 在 Delphi 中正常工作,我做了很多工作。我们第一次尝试基于 Gecko 渲染引擎的内部“浏览器”是使用 Delphi 和 Gecko 1.8 构建的。从那以后我们继续前进,我们的浏览器现在是XULRunner 应用程序。我的硬盘驱动器上还有一些我尚未删除的早期尝试的代码。

      当 Mozilla 发布 Gecko 2.0 时,我认为它会更容易嵌入到 Delphi 中。 Gecko 中的 XPCOM 对象系统很难嵌入,因为大多数东西都返回 NS_RESULT。尤其是弦乐。

      编辑:我刚刚浏览了我的旧书签(几乎所有书签都已失效)并搜索了基于 Gecko 的日语“百吉饼”浏览器的新网址,并在这里找到了它,

      http://github.com/plus7/bagel/tree/master/Legacy

      这可能是您开始编写一些优秀代码的最佳选择。不幸的是,代码中的 cmets 是日语,作者从未回答过问题。

      【讨论】:

      • Gecko 2.0 听起来令人兴奋!你有更多信息的网页吗?也许是路线图和发布时间表等。
      • 据我所知,仍然没有 Gecko 2.0 的迹象。
      猜你喜欢
      • 2012-03-19
      • 2010-10-23
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      相关资源
      最近更新 更多