WinForms WebBrowser控件中的Flash视频显示不正常

3

这是一个问题。我正在为我三岁的孩子制作一个网页浏览器,以便我可以指定他可以访问哪些网站,并使他轻松地访问这些网站之一是迪士尼幼儿网站。http://disney.go.com/disneyjunior 但是,当我在WebBrowser控件中加载该网站时,flash效果有点奇怪。这是唯一出现这种情况的flash网站。顶部和侧面导航栏的大小是它们应该的两倍。这已经发生在多台机器上了,所以不仅仅是我的开发计算机。此外,在IE9中,该网站看起来非常好。我一直在想办法解决这个问题,但是我已经没有更多的想法了。起初,我认为这可能与IE中的缩放有关,因此我创建了一个从WebBrowser控件继承的新控件,并添加了一个缩放属性,但是那并没有解决问题。然后我想也许User Agent字符串可能是一个问题,所以我尝试进行修改,但无济于事...再加上WebBrowser控件自己就识别为IE9...所以那也不是原因。我考虑过使用GeckoFX或WebKit.NET,但是这些项目都已经过时,所以我宁愿使用内置的IE控件(具有讽刺意味)。而且,外部依赖会更少。

复制这个问题的方法很简单...

1. 创建一个新的窗体项目
2. 在窗体上放置一个WebBrowser控件并将其全部停靠在窗体上。
3. 在窗体的load事件中加入以下代码... webBrowser1.Navigate(@"http://disney.go.com/disneyjunior");
4. 当网站打开时,它可能看起来正常,但按下F5刷新,你会发现导航栏变形...并且它将一直保持这种状态...即使下次重启项目也是如此(可能是缓存问题?)
任何关于要尝试的事情或解决方案的想法都将不胜感激。我准备做编程,但此时我困惑于可能正在发生的事情,所以我想向比我聪明的人求助。


我按照您的重现步骤进行操作,结果在WebBrowser控件中获得了100%的绿屏,随后出现“页面发生错误”的提示,第257行,第60个字符 - 对象期望。是否要继续运行此页面上的脚本?我点击“是”,但仍然没有任何反应,仍然是绿色的,没有像在Chrome上运行网页时那样出现米老鼠的加载。 - Jeremy Thompson
1
赞同创建一个浏览器来控制孩子的网络内容的想法。下周我会测试一下,看看能否发现什么问题。如果您制作了面向儿童的设计,我也想问一下您是否介意分享您的源代码。我有几个孩子很快就要接触互联网了,这将是一个很好的工具;D - Fernando Silva
1
根据我的经验,WinForms在处理其ActiveX控件(其中Flash是其中之一)时相当困难。在项目早期我曾经做过一些相关工作,但遇到了很多错误。不想成为“程序控制狂”,但如果你遇到太多问题,建议考虑使用Python来完成此任务。 - CodeMouse92
这在我的情况下似乎运行良好。对我来说,这更像是一个环境问题。我已经广泛地使用浏览器控件,它确实有一些怪癖。我正在运行 Windows 7 64 位旗舰版,使用完全更新的 VS 2010 Ultimate。你使用哪个版本,更重要的是,你是否将 IE 作为你的主要浏览器? - Raheel Khan
我进行了大量搜索,发现Web浏览器控件在跨域资源和缓存方面存在一些问题。我不确定是否可以解决这个问题。因此,我放弃了原生的Web浏览器控件,转而使用了Gecko和一个名为GeckoFX的.NET包装器。浏览器的源代码已经上传到bitbucket(https://bitbucket.org/fredclown/kidbrowser)。我还在这篇文章中链接了一个已编译版本(http://thestuders.blogspot.com/2011/12/kid-browser.html)。 - Davin Studer
1个回答

0
我进行了大量搜索,发现Web浏览器控件在跨域资源和缓存方面存在一些问题。我不确定是否可以解决这个问题。因此,我放弃了原生的Web浏览器控件,转而使用Gecko和一个名为GeckoFX的.NET包装器。如果您对此有答案,我将把接受答案的检查转移到您的答案上。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接