Flash 视频在 WinForms WebBrowser 控件中显示不稳定

Posted

技术标签:

【中文标题】Flash 视频在 WinForms WebBrowser 控件中显示不稳定【英文标题】:Flash Video Displaying Wonky in WinForms WebBrowser Control 【发布时间】:2011-12-05 10:56:59 【问题描述】:

这就是问题所在。我正在为我 3 岁的孩子制作一个网络浏览器,这样我就可以指定他可以访问哪些网站,并让他可以轻松访问这些网站。我指定的站点之一是 Disney Junior 站点。 http://disney.go.com/disneyjunior 但是,当我在 WebBrowser 控件中加载该站点时,flash 有点不稳定。这是唯一这样做的 Flash 站点。顶部导航和侧面导航的大小是应有的两倍。这发生在多台机器上,所以不仅仅是我的开发箱。此外,该站点在 IE9 中看起来还不错。我一直在努力弄清楚发生了什么,但我的想法已经枯竭。起初我虽然它与 IE 中的缩放有关,所以我创建了一个从 WebBrowser 控件继承的新控件并添加了一个缩放属性,但这并没有解决它。然后我想也许用户代理字符串可能是一个问题,所以我尝试修改它无济于事......而且事实证明,WebBrowser 控件无论如何都将自己标识为 IE9......所以不是这样。我曾考虑过使用 GeckoFX 或 Webkit.NET,但这些项目都已经过时了,所以我宁愿使用更现代的东西,比如内置的 IE 控件(讽刺的是,我知道)。另外,外部依赖也会减少。

重现这个问题的方法很简单......

1.新建一个winform项目 2. 在窗体上拖放一个 WebBrowser 控件并将其完全停靠到 winform 3.在表单onload事件中添加此代码... webBrowser1.Navigate(@"http://disney.go.com/disneyjunior"); 4. 当网站打开时,它可能看起来很正常,但给它一个 F5 刷新,你应该会看到导航变得不稳定......它会保持不变 方式...永远...即使下次您重新启动项目时(可能是缓存问题?)

任何关于尝试或解决方案的想法将不胜感激。我准备进行编码,但此时我对可能发生的事情感到困惑,所以我想我会吸引比我更聪明的人。

【问题讨论】:

我按照您的复制步骤进行操作,我在 webbrowser 控件中获得 100% 绿屏,然后是“页面中发生错误”第 257 行,字符 60 - 预期对象,你想继续在此页面上运行脚本。我点击是,什么都没有,仍然是绿色的,按照 Chrome 上正在运行的网页没有加载 mickeymouse +1 用于创建浏览器来控制您孩子的网络内容的想法。下周我会测试一下,看看我能不能发现什么。如果您进行面向儿童的设计,我还想问您是否介意分享您的源代码。我有几个孩子很快就会接触到互联网,这将是一个很棒的工具;D 根据我的经验,WinForms 的 ActiveX 控件(其中 Flash 就是其中之一)相当粗糙。我在项目的早期就做了一些工作,但我遇到了很多错误。不要成为“programmaticus takeoveriticus”,但如果您遇到太多问题,请为此研究 Python。 这在我的情况下似乎工作正常。对我来说,这听起来更像是环境问题。我已经广泛使用浏览器控件,它肯定有它的怪癖。我正在运行 VS 2010 Ultimate 完全更新的 Windows 7 64 位 Ultimate。您使用的是什么版本,更重要的是,您使用 IE 作为您的主要浏览器吗? 我做了一堆搜索,看起来 Web 浏览器控件在跨域资源和缓存方面存在一些问题。我不确定它是否可以解决。因此,我放弃了本机 webbrowser 控件并使用了 gecko 和一个名为 GeckoFX 的 .NET 包装器。浏览器的源代码在 bitbucket (bitbucket.org/fredclown/kidbrowser) 上。我还从这篇文章 (thestuders.blogspot.com/2011/12/kid-browser.html) 链接了一个编译版本。 【参考方案1】:

我进行了大量搜索,看起来 Web 浏览器控件在跨域资源和缓存方面存在一些问题。我不确定它是否可以解决。所以,我放弃了原生的 webbrowser 控件,使用了 gecko 和一个名为 GeckoFX 的 .NET 包装器。如果您对此有答案,我会将接受的答案检查转移到您的答案中。

【讨论】:

以上是关于Flash 视频在 WinForms WebBrowser 控件中显示不稳定的主要内容,如果未能解决你的问题,请参考以下文章

Web 开发人员迁移到 Winforms

如何在Flash中导入视频?

C# Flash - 外部接口

流式 Flash 视频问题 - 剪辑

HTML5 视频播放器显示以在浏览器中启用 Flash。如何在不启用 Flash 的情况下播放流视频?

我想做一个flash播放器调用flv视频,请高手帮忙!