【发布时间】:2010-12-29 07:17:01
【问题描述】:
我正在使用 System.Windows.Forms.WebBrowser 开发 C# .NET 应用程序。
IE 没有正常响应,所以我想换成 Mozilla Firefox。
我该怎么做?
【问题讨论】:
我正在使用 System.Windows.Forms.WebBrowser 开发 C# .NET 应用程序。
IE 没有正常响应,所以我想换成 Mozilla Firefox。
我该怎么做?
【问题讨论】:
2016 年更新:
我可以建议还有 3 个其他选项仍在积极开发中:
一个 .Net 组件,可用于将 Chrome 引擎 集成到您的 .Net 应用程序中。基于CefGlue,但更新到最新的 Chrome 版本要快一些。此外,还有一个商业支持选项可供某些人使用。当然组件本身是开源的。
另一个 .Net 组件,可用于将 Firefox 引擎 集成到您的 .Net 应用程序中。这是基于Geckofx,但与当前版本的 Geckofx 不同,它适用于 Firefox 的正常发行版本。要使用 Geckofx,您需要自己构建 Firefox。再次提供商业支持,但组件本身是完全开源。
在您的 .Net 应用程序中需要所有不同的浏览器? BrowseEmAll Core API 可以将 Chrome、Firefox、Webkit 和 Internet Explorer 集成到您的应用程序中。这是一个商业产品,但请注意。
(完全披露:我在这家公司工作,所以我所说的一切都持保留态度)
【讨论】:
System.Windows.Forms.WebBrowser 只是 ActiveX 控件的托管包装器:SHDocVw.WebBrowser。包装器并非没有错误,并且可能无法提供您需要的可扩展性。如果您有一个可行的解决方案,我不建议将其移植到使用System.Windows.Forms.WebBrowser。
IE 不是基于 .Net 的,因此您不能使用System.Windows.Forms.WebBrowser 来控制 IE 中的任何内容。事实上,我什至不建议在 .Net 中连接 BHO,因为在 IE 进程中只能运行一个版本的 CLR,而您的 BHO 可能会在意外版本的 CLR 上运行。
【讨论】:
您无法使用 System.Windows.Forms.WebBrowser 控件实现此目的。似乎有办法将 Gecko 渲染引擎嵌入到 WinForms 应用程序中。
看到这个问题:Replacing .NET WebBrowser control with a better browser, like Chrome?
【讨论】:
您需要用此项目替换 WebBrowser 控件:http://code.google.com/p/geckofx/
【讨论】:
我只是在查看GeckoFX 和WebKit.NET,您可能会对它们感兴趣。如果您想更改 Default WebBrowser 控件,我认为这是不可能的。
【讨论】:
【讨论】:
不确定这是否可能/容易,但 mono 使用 Gecko# 来实现其 System.Windows.Forms.WebBrowser 版本。也许您可以重用它或从该代码中删除一些可用的部分?
【讨论】: