我的计算机上安装了IE8,并且一直致力于使用WebBrowser在一个简单的c#应用程序中自动执行某些任务。据说WebBrowser和IE必须以类似的方式呈现网页,而实际上我在应用程序中遇到了错误。
为了追踪问题,我用单个WebBrowser创建了小型winforms项目,并手动完成了必须使用WB和IE自动化的任务 - 它们产生了不同的结果。
AFAIK WB使用已安装的IE引擎渲染html,我也强制使用FEATURE_BROWSER_EMULATION(8000)。为什么会出现这样的问题?
P.S。不知道这是否有帮助,但问题是关于flash视频,它一直在IE中成功加载,但在WebBrowser中只有一次,重新加载或导航到此Flash视频后,页面脚本和闪存都出现故障。
答案 0 :(得分:1)
持续搜索后,我终于找到了这种情况的答案。
这似乎是Flash应用程序中的一个错误,正是这样:(由于垃圾邮件防范机制,无法将其加载回复,尽管它仍然在文章中说明,更深入地定义)。
如果在每次页面导航之前清除播放器的缓存源,问题就可以解决。 在这种情况下,可以在msdn博客上找到准确而详细的视图: http://blogs.msdn.com/b/johan/archive/2009/08/06/problems-with-flash-content-in-the-webbrowser-control.aspx
干杯!
答案 1 :(得分:0)
您可能必须检查您的强制功能模拟是否正确。如果您在WebBrowser中加载包含类似脚本的页面:
<script language="Javascript">
<!--
document.write(navigator.appName);
document.write("<br/>");
document.write(navigator.appVersion);
document.write("<br/>");
// -->
</script>
你得到了什么?
如果从vs.net运行应用程序,可能会发生应用程序的身份不是“yourapplicationname.exe”而是“yourapplicationname.vshost.exe”使您的设置失败。
使用像youtube这样的Flash视频检查其他外部网页,看看错误是否仍然存在。