C#(.NET)中是否有更好的Web浏览器控件?

我需要JavaScript在我的应用程序中几乎完美地工作,应该能够访问Web内容并让用户控制它。 但是,webbrowser组件在Internet Explorer的单独实例/应用程序中弹出新窗口,而dotBrowser无法正常使用JavaScript。

请给我一些建议 – 我甚至会采取一些工作示例,并通过我需要它的function来增强它。

看一下GeckoFX ,它是用于在.NET应用程序中嵌入Mozilla Gecko(Firefox)的开源组件。

我可能会弄错,但我相信使用.NET中的Web浏览器控件可以控制(或至少抑制)新窗口。 看看NewWindow活动。

我曾经有过在.NET winforms应用程序中嵌入WebKit(Apple Core,用于Chrome)和XULRunner(Gecko)核心的经验。 我来给你一些建议:

GeckoFX是您最好的选择。 它是在MPL下获得许可的,它开箱即用。 请仔细按照说明操作,并拉出指示的XUL版本。 我会说它比WebBrowser控件更好用。 在第一次加载XUL时有一些关于显着延迟的说法,但我发现它可以忽略不计。 品牌等可通过外部文件完全自定义。

WebKit可以嵌入SwiftDotNet。 如果您只需要坚实的javascript性能,那么这可能是一个选择。 如果您需要能够下载文件,那么您可以为您完成一些工作。

这两条路线的下行是一个令人讨厌的~7-8mb的开销,即使是压缩(尽管我在NSIS中能够获得6.5mb的lz压缩)。 如果您不创建可分发的面向消费者的软件,那么这对您来说可能不是问题。