71

我很想知道是否有 Gecko.NET 之类的东西;)我的意思是,就像我们可以嵌入 WebView 一样,它是任何 Windows 窗体应用程序中的 IE7 的“实例”(并告诉它navigateto(fancy_url);)。我喜欢使用 Firefox 或 WebKit。

有人试过这个吗?

更新:请记住,虽然可以使用上述控件嵌入 Gecko,但在使用 Gecko 时仍然无法打印

2010 年 3 月更新:仍然无法使用 GeckoFX 进行本机打印,但是有几种方法可能就足够了,具体取决于您要执行的操作。请参阅:http ://geckofx.org/viewtopic.php?id=796了解更多信息。

2013 年 10 月更新:我不再进行 Windows 开发,所以我对此不感兴趣,但似乎 Gecko 的开发可以在这里找到:https ://bitbucket.org/geckofx ,它似乎最近更新了。将其留在这里以供将来的 Windows 开发人员使用;)

2017 年 1 月更新:我收到了来自一家名为TeamDev的公司的电子邮件。他们创建了一个名为“DotNetBrowser”的基于 Chromium 的 .NET 浏览器组件,可用于在 Windows 窗体应用程序中显示现代网页。

直接引用电子邮件:

以下是有关该组件的一些详细信息,可能会有所帮助:

  1. DotNetBrowser 基于 Chromium,因此支持 HTML5、CSS3、JS 和最新的 Web 标准。该库的底层 Chromium 版本会定期更新。
  2. 该组件适用于 WPF 以及 Windows 窗体桌面应用程序,并且适用于 C# 和 VB.NET。
  3. 该库已获得商业许可,但为开源和学术项目提供免费许可。

免责声明: 我没有使用此 DotNetBrowser,因为我不再进行 Windows 开发,但如果您正在寻找解决方案,可能值得检查。

4

10 回答 10

49

http://code.google.com/p/geckofx/

这是一个很好的 .NET 包装的 Gecko 版本

于 2008-08-28T09:40:18.537 回答
10

这当然是可能的。您需要做的就是注册 Mozilla ActiveX 控件(我相信是 mozctlx.dll),然后您可以将它作为任何 ActiveX 控件拖到您的表单上。编程接口与 IE 相似(尽管不完全相同),在某些情况下您甚至可以使用 Microsoft.MSHTML.dll 托管库进行控制。

我相信这是与 Firefox 一起打包的。如果没有,您也可以从 Mozilla 获得可嵌入位。只需在 Google 上搜索 Mozilla ActiveX 控件或 Mozilla Embedding C#,这应该会带您走上正确的道路。

于 2008-08-25T14:49:00.940 回答
9

GeckoFX 不再更新。替代方案是Se7en Soft的MozNet XulRunner 包装器。MozNet 具有 GeckoFX 所没有的大量功能,并且正在积极更新和维护。

于 2011-02-17T21:12:06.157 回答
8

我只想指出,对于所有希望将 Gecko 嵌入其应用程序的人,GeckoFX 项目似乎已被其创建者(Skybound Software)放弃。MozNET,虽然以前基于 GeckoFX,但有点'捡起球并带着它跑。它具有打印、打印预览的全部功能,并允许您通过本机 Windows 打印对话框进行设置,甚至 -以及更多

于 2011-02-22T12:59:09.810 回答
4

OpenWebKitSharp 是一个围绕 WebKit 引擎的包装器(每晚)并且非常先进。看看这里(OpenWebKitSharp 部分):http ://code.google.com/p/open-webkit-sharp/

于 2011-10-06T17:50:01.887 回答
4

2016 年更新:

BrowseEmAll.Gecko

一个 .Net 组件,可用于将Firefox 引擎集成到您的 .Net 应用程序中。这基于Geckofx,但与当前版本的 Geckofx 不同,它适用于 Firefox 的正常发行版本。要使用 Geckofx,您需要自己构建 Firefox。再次提供商业支持,但组件本身是完全开源的。

(全面披露:我为这家公司工作,所以我所说的一切都持保留态度)

于 2016-02-13T10:43:35.030 回答
3

@Martin:是的,亚当洛克版本已经过时了。但那是因为不需要单独的分发。它现在与 Mozilla 代码库的其余部分一起构建。

如果您下载 Prism(即 XulRunner),它将为您提供一个可以根据需要自定义的基础,其中包括最新版本的控件(在 \Prism\xulrunner 目录中,您会找到 mozctlx.dll) .

@Greg:实际上,它是一个 ActiveX 控件。顺便说一下,所有 ActiveX 控件都是COM 控件。ActiveX 建立在 COM 之上。

于 2008-08-25T16:52:48.833 回答
3

截至 2011 年 10 月 30 日,自之前的帖子发布以来,有新的信息需要添加。具体来说,虽然 Skybound 停止维护他们的版本,但至少有一个积极维护的、免费的开源分支可用。

我在 BitBucket 使用Hindle 的 fork,凭借他的工具解析 XpCom idls 并创建 c# 包装器,它可以快速更新以支持每个新版本的 Firefox/Gecko。

有关其他选择的概述,请参阅这篇文章。

于 2011-10-30T20:02:36.280 回答
2

此外,如果您发现自己使用 Gtk 而不是 Windows.Forms,则可以使用 webkit-sharp 的 tarball,以便将 WebViews 嵌入到 Gtk# 应用程序中。

于 2008-08-25T16:40:38.973 回答
2

我相信“Gecko FX”[1] 是您需要的东西。

从网站引用

""" GeckoFX 是一个用干净的注释 C# 编写的 Windows 窗体控件,它在任何 Windows 窗体应用程序中嵌入了 Mozilla Gecko 浏览器控件。它还包含一个简单的类模型,提供对 HTML 和 CSS DOM 的访问。"""

1)我无法发布链接,因为“不允许新用户添加超链接” 在谷歌代码上搜索“geckofx”。

于 2009-05-19T11:41:39.893 回答