C# WPF Web浏览器替代方案
我有一个WPF应用程序,它使用了C# WPF Web浏览器替代方案,c#,.net,wpf,chromium-embedded,C#,.net,Wpf,Chromium Embedded,我有一个WPF应用程序,它使用了webBrowser控件,并在内部使用IE7,当我尝试添加任何javascript库时,它会变得很痛苦,因为IE7不支持新功能 我试图通过使用更改浏览器渲染模式 <meta http-equiv="X-UA-Compatible" content="IE=11" /> 但它不仅打破了设计,而且在IE11中与windows应用程序中的WPFWebBrowser控件中看起来也不一样 我无法使用,因为许多用户没有更新注册表的权限,并且我无法联系到所有用
webBrowser
控件,并在内部使用IE7
,当我尝试添加任何javascript库时,它会变得很痛苦,因为IE7
不支持新功能
我试图通过使用更改浏览器渲染模式
<meta http-equiv="X-UA-Compatible" content="IE=11" />
但它不仅打破了设计,而且在IE11
中与windows应用程序中的WPF
WebBrowser
控件中看起来也不一样
我无法使用,因为许多用户没有更新注册表的权限,并且我无法联系到所有用户来修复它
我试图找到任何替代品来替换内置的WebBrowser
控件,但他们不允许使用IE
,而是坚持使用Chromium
。并非所有我的用户都有cromium
,但IE11
在他们所有的计算机中都很常见
因此,真正的问题是,是否有任何浏览器控件将取代现有的
WPF WebBrowser
控件并使用更高版本的IE
?或者是否有其他解决方案使现有的WebBrowser
控件与我选择的版本一起使用IE
?可能是IE9+尝试使用WindowsFormsHost
<Window x:Class="WpfTutorialSamples.Misc_controls.WindowsFormsHostSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
Title="WindowsFormsHostSample" Height="350" Width="450">
<Grid>
<WindowsFormsHost Name="wfhSample">
<WindowsFormsHost.Child>
<wf:WebBrowser DocumentTitleChanged="wbWinForms_DocumentTitleChanged" />
</WindowsFormsHost.Child>
</WindowsFormsHost>
</Grid>
</Window>
从这个例子中
我认为CEFSharp捆绑了所有必要的东西-我不认为它依赖于目标PC上安装的Chrome/Chrome?
CEFSharp
不需要安装Chrome
。您不能直接使用CEF
,因为它只提供C/C++API
,您需要查看CefSharp
、CefGlue
或ChromiumFx
作为CEF
的三个网络包装器CefSharp
需要VC++
您可以将其与应用程序打包,请参阅FAQ
您将遇到与WebBrowser相同的底层技术/问题。