相关疑难解决方法(0)

使用WPF/C#嵌入Chromium而不是IE WebBrowser控件的选项

基于Internet Explorer的WPF WebBrowser控件会遇到一些键盘和焦点问题以及内存泄漏问题.作为这些问题的替代解决方案,我们正在考虑在基于HTML编辑的WPF/C#项目中托管Chromium而不是WebBrowser控件的可用选项.此前已经提出了类似的问题.我已经阅读了答案并完成了自己的研究,但我希望从生产质量项目中实际使用以下任何选项的人那里获得更多反馈:

AwesomiumAwesomium.NET

它看起来非常合适,但我不喜欢这个项目不是开源的事实,并且不能轻易获得完整的资源.此外,它可能对我们的项目来说太过分了,因为屏幕外渲染不是我们真正依赖的东西.

用于CEF的Chromium Embedded Framework(CEF).NET绑定

这可能是目前可用的最佳选择.该项目似乎活跃且活跃,目前与Chrome v27同步.CEF3使用Chrome多进程架构.看起来Adobe似乎正在给它一些支持.

谷歌的Chrome Frame

虽然它的最初目的是成为IE和Firefox的HTML5插件,但它实际上也可以作为独立的ActiveX控件使用,所以我可以将它包装起来用于WPF.它公开了足够的API以与内部网页(onmessage, addEventListener/removeEventListener, postMessage)进行交互.我知道谷歌将停止使用 Chrome Frame,但我认为这些来源将保留在Chromium存储库中.使用最新的Chromium代码更新它并不困难,我们可以完全控制它.

WebKit .NET包装器

不完全是基于Chromium而且不使用V8引擎,所以它不是一个真正的选择.

还有其他我可能忽略的选择吗?

如果有人与上述任何选项分享她/他在实际生产质量的WPF项目中的经验,我将不胜感激.您是否有任何集成,许可或部署影响?谢谢.

[编辑] 我还要感谢artlung通过提供慷慨的赏金提议来提升这个问题.

c# wpf google-chrome webbrowser-control chromium-embedded

155
推荐指数
5
解决办法
12万
查看次数

使用WPF WebBrowser控件时如何禁止脚本错误?

我有一个WPF应用程序,它使用WPF WebBrowser控件在平板显示器(如新闻源)上向开发人员显示有趣的网页.

麻烦的是,我偶尔会得到一个HTML脚本错误,弹出一个讨厌的IE错误消息,询问我是否要"停止在此页面上运行脚本".有没有办法抑制这个错误检查?

注意:我已经在IE设置中禁用了脚本调试.

browser wpf

47
推荐指数
5
解决办法
4万
查看次数

在网络浏览器中嵌入Youtube视频.对象不支持属性或方法

Youtube最近停止支持以www.youtube.com/v/{key}格式嵌入的视频.所以我试图将视频从"/ v /"转换为"/ embed /".但是,当我尝试导航到视频时,会弹出以下错误:

在此输入图像描述

在此输入图像描述

在此输入图像描述

我使用以下内容导航到网页:

WPF

<WebBrowser x:Name="trailer" Margin="655,308,30,135"/>
Run Code Online (Sandbox Code Playgroud)

C#

trailer.Navigate("https://www.youtube.com/embed/v2fDTOdWuQQ?rel=0&amp;showinfo=0");
Run Code Online (Sandbox Code Playgroud)

为什么仅通过从"/ v /"切换到"/ embed /"就无法工作?我该如何解决这个问题呢?

c# youtube wpf

19
推荐指数
1
解决办法
2838
查看次数

18
推荐指数
3
解决办法
1万
查看次数

WPF Web浏览器控件和DPI缩放

我正在使用一个使用Web浏览器控件的WPF应用程序,我遇到了高DPI缩放问题.

看起来Web浏览器控件没有正确地遵循系统的DPI设置,而WPF应用程序的其余部分正在正确扩展UI.这意味着在更高级别的级别上,WPF界面变得更大,而Web浏览器内容保持原始的,现在看起来更小.

以下是使用两个Web浏览器控件的WPF应用程序中的屏幕截图示例.

100%缩放:

在此输入图像描述

150%缩放:

在此输入图像描述

请注意,在第二个图像中,Web浏览器缩放比第一个图片相对于主窗体内容(工具栏/菜单/状态栏)小得多.

是否有某种方法可以强制Web浏览器控件正确使用从应用程序继承的高DPI设置?

此MSDN链接: 解决DPI问题

显示了一个真正低级的方法(在doc的底部)实现自定义Web浏览器COM接口,但我想知道是否有更清晰的方法来解决这个问题.

c# wpf dpi webbrowser-control

16
推荐指数
2
解决办法
3339
查看次数

IE10 - 如何防止出现"您当前的安全设置不允许下载此文件"弹出窗口?

我正在使用wpf WebBrowser控件(System.Windows.Controls),我需要阻止用户执行各种操作,如下载文件或打印页面.我在Internet Explorer选项中禁用了文件下载选项(安全选项卡 - >自定义级别 - >下载 - >文件下载).因此,在pdf链接上点击后,而不是文件下载弹出窗口,我得到一个弹出消息:"您当前的安全设置不允许下载此文件".

有没有办法防止此消息发生?我只是希望从用户角度不执行任何操作.我用的是IE10.

c# wpf webbrowser-control internet-explorer-10

7
推荐指数
1
解决办法
3712
查看次数

如何忽略 Web 浏览器中的脚本错误

当我关闭使用网络浏览器的应用程序时会发生什么。以下网址使用flash播放器。

替代文本

一切正常。此错误在应用程序关闭时显示。我该如何忽略它?

c# browser

4
推荐指数
1
解决办法
3万
查看次数

如何在WebBrowser中确认脚本错误对话框?

我需要以编程方式(即回答"是")向WebBrowser中的脚本错误对话框确认,否则页面将停止工作.我没有代码可以展示,因为我不知道如何做到这一点.

这是我正在谈论的对话框中的图像:

在此输入图像描述(采取从这个,顺便说一句)

c# internet-explorer webbrowser-control winforms

4
推荐指数
1
解决办法
2200
查看次数