托管 WebBrowser 控件尝试下载 Flash 内容而不是播放它

Posted

技术标签:

【中文标题】托管 WebBrowser 控件尝试下载 Flash 内容而不是播放它【英文标题】:Hosted WebBrowser control attempts to download Flash content rather than playing it 【发布时间】:2011-03-07 12:56:00 【问题描述】:

我在一个简单的 .NET winforms 应用程序中托管一个 IE 浏览器控件。当我让控件导航到磁盘上的某些内容时,控件会尝试下载文件(而不是显示内容。)粘贴到 IE 浏览器时完全相同的 URL 将正确显示有问题的 swf 文件以及已处理的 XML 数据作为参数传递。

网址的缩写示例:

file:///C:/...SomeSwfFile.swf?dataXML=%3C ... assume well-formed XML here

如何使浏览器控件的行为与具有该类型 URL 的 IE 应用程序一样?

每个反馈的附加信息:html 文件可以正常加载到控件中。

【问题讨论】:

如果请求的文件以 htm 结尾,它会做同样的事情吗?我感觉这可能与安全有关。 HTML 文件工作正常。但这不是安全问题。我将 IE 的安全设置为不存在,行为是一样的。 这可能是我的问题:social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/… 如果您主要(或专门)使用 SWF,您可能希望嵌入它(或者如果您有多个,则需要一个加载器)。这样您就不必担心浏览器/沙盒问题。 【参考方案1】:

问题是我试图在基于 x64 开发框的 Web 浏览器控件中托管 Flash 控件。目前,Flash 在 64 位进程中表现不佳。当我将应用程序设置为为 x86 构建时,一切正常。

【讨论】:

以上是关于托管 WebBrowser 控件尝试下载 Flash 内容而不是播放它的主要内容,如果未能解决你的问题,请参考以下文章

C# WebBrowser控件使用整理

抑制 WebBrowser 控件中的保存/打开对话框

如何在 C# 中由 .NET WebBrowser 控件托管的页面中调用 JavaScript 方法并将参数传递给 JavaScript 方法? [复制]

C# WebBrowser 控件拦截从 PHP 脚本在新窗口中下载

从 webbrowser 控件保存 pdf 文档

WebBrowser 控件不呈现某些页面