我正在考虑将一个项目移植到WinForm应用程序的嵌入式WebView类型架构中,并且正在考虑使用DotNetBrowser和CefSharp。
在进行多次搜索后,我似乎找不到任何有关免费的CefSharp项目与付费的DotNetBrowser组件能力比较的信息。主要的区别是DotNetBrowser的支持选项吗?还有其他记录的差异吗?
我正在考虑将一个项目移植到WinForm应用程序的嵌入式WebView类型架构中,并且正在考虑使用DotNetBrowser和CefSharp。
在进行多次搜索后,我似乎找不到任何有关免费的CefSharp项目与付费的DotNetBrowser组件能力比较的信息。主要的区别是DotNetBrowser的支持选项吗?还有其他记录的差异吗?
DotNetBrowser和CefSharp API之间的主要区别在于,DotNetBrowser提供了DOM层API,而CefSharp则没有。
例如,在DotNetBrowser中,您可以使用以下方法获取DOM元素:
DOMDocument document = Browser.GetDocument();
DOMNode div = Browser.GetDocument().GetElementsByTagName("div").FirstOrDefault();
然后你可以使用C#处理DOM元素。例如,DotNetBrowser支持从.NET端订阅DOM事件。
要在CefSharp中实现此功能,您需要使用JavaScript评估来处理DOM树:
browser.GetMainFrame().ExecuteJavaScriptAsync("document.getElementsByTagName('div')[0]");
CefSharp
目前不受支持。需要注意的是,本评论是在最新版本为57.0.0
时编写的,未来读者请知悉。 - TEK