如何将Web浏览器从IE更改为Firefox

时间:2009-12-22 22:12:59

标签: c# .net

我正在使用System.Windows.Forms.WebBrowser处理C#.NET应用程序。

IE没有正确响应,因此我想更改为Mozilla Firefox。

我该怎么做?

7 个答案:

答案 0 :(得分:7)

你不能。

WebBrowser控件是IE ActiveX控件的包装器,不能轻易地替换为Mozilla。

但是,您可以查看Mozilla ActiveX Control

答案 1 :(得分:4)

我只是看着他们可能感兴趣的GeckoFXWebKit.NET。如果你想改变默认的WebBrowser控件我不相信这是可能的。

答案 2 :(得分:3)

您需要将WebBrowser控件替换为此项目:http://code.google.com/p/geckofx/

答案 3 :(得分:2)

System.Windows.Forms.WebBrowser只是ActiveX控件的托管包装器:SHDocVw.WebBrowser。包装器并非没有错误,可能无法提供所需的可扩展性。如果您有可行的解决方案,我建议您不要使用System.Windows.Forms.WebBrowser

IE不是基于.Net所以你不能使用System.Windows.Forms.WebBrowser来控制IE中的任何内容。事实上,我甚至不建议在.Net中连接BHO,因为只有一个版本的CLR可以在IE进程中运行,而你的BHO可以在意外版本的CLR上运行。

答案 4 :(得分:1)

不确定这是否可行/容易,但是mono使用Gecko#来实现其版本的System.Windows.Forms.WebBrowser。也许你可以重用它或从代码中删除一些可用的部分?

答案 5 :(得分:0)

使用System.Windows.Forms.WebBrowser控件无法实现此目的。似乎有办法将Gecko渲染引擎嵌入到WinForms应用程序中。

请参阅此问题:Replacing .NET WebBrowser control with a better browser, like Chrome?

答案 6 :(得分:0)

2016年更新:

我可以建议还有3个其他选项仍在积极开发中:

1. BrowseEmAll.Cef

.Net组件,可用于将 Chrome引擎集成到.Net应用程序中。基于CefGlue,但对最新Chrome版本的更新速度要快一些。此外,还有一个商业支持选项,对某些人来说可能会派上用场。当然,组件本身是开源

2. BrowseEmAll.Gecko

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

3. BrowseEmAll Core API

您的.Net应用程序需要所有不同的浏览器吗?您可以将BrowseEmAll核心API 集成Chrome,Firefox,Webkit和Internet Explorer 到您的应用程序中。这是商业产品,但请注意。

(完全披露:我为这家公司工作,所以把我所说的一切都拿走了)