我正在使用System.Windows.Forms.WebBrowser处理C#.NET应用程序。如何将WebBrowser从IE更改为Firefox
IE浏览器没有正确响应,所以我想更改为Mozilla Firefox。
我该怎么做?
我正在使用System.Windows.Forms.WebBrowser处理C#.NET应用程序。如何将WebBrowser从IE更改为Firefox
IE浏览器没有正确响应,所以我想更改为Mozilla Firefox。
我该怎么做?
不知道这是否可能/简单,但mono使用Gecko#来实现它的System.Windows.Forms.WebBrowser版本。也许你可以重用它,或者从代码中剥离一些可用的部分?
你要更换这个项目WebBrowser控件:http://code.google.com/p/geckofx/
我只是在看GeckoFX和WebKit.NET他们可能是你的兴趣。如果你想改变Default WebBrowser控件,我不相信这是可能的。
使用System.Windows.Forms.WebBrowser控件无法实现此目的。似乎有办法将Gecko渲染引擎嵌入到WinForms应用程序中。
看到了这个问题:Replacing .NET WebBrowser control with a better browser, like Chrome?
System.Windows.Forms.WebBrowser
仅仅是ActiveX控件的托管包装:SHDocVw.WebBrowser
。包装不是没有缺陷,可能无法提供您需要的可扩展性。如果你有一个工作解决方案,我不建议将它移植到使用System.Windows.Forms.WebBrowser
。
IE不基于.Net,因此您不能使用System.Windows.Forms.WebBrowser
来控制IE中的任何内容。实际上,我甚至不建议在.Net中连接BHO,因为只有一个版本的CLR可以在IE进程中运行,并且您的BHO可以运行在意外的CLR版本上。
更新2016年
有3个额外的选项我可以建议仍在积极开发:
可用于整合 的Chrome引擎.NET组件到您的.Net应用程序中。基于CefGlue,但在更新最新的Chrome版本时速度稍快。另外还有一个商业支持选项可用,这可能会派上用场。当然,组件本身是开源。
可以用来给火狐引擎集成到您的.NET应用的另一个.NET组件。这是基于Geckofx,但与当前版本的Geckofx不同,这将与Firefox的正常版本构建一起使用。要使用Geckofx,您需要自己构建Firefox。再次商业支持是可用的,但组件本身完全是开源。
需要在.NET应用程序的所有不同的浏览器?您可以使用BrowseEmAll Core API 将Chrome,Firefox,Webkit和Internet Explorer集成到您的应用程序中。这是一个商业产品虽然如此被警告。
(全面披露:我为这个公司工作,所以采取一切我半信半疑的说)
使用ActiveX控件将是一个痛苦的过程。有人已经创建了一个托管封装:http://code.google.com/p/geckofx/ – jasonh 2009-12-22 22:20:41
但它不适用于Mozilla Firefox版本23 – 2013-12-20 08:05:23