.net WebBrowser和IE之间的区别

时间:2010-09-27 14:47:40

标签: c# .net internet-explorer browser

我的计算机上安装了IE8,并且一直致力于使用WebBrowser在一个简单的c#应用程序中自动执行某些任务。据说WebBrowser和IE必须以类似的方式呈现网页,而实际上我在应用程序中遇到了错误。

为了追踪问题,我用单个WebBrowser创建了小型winforms项目,并手动完成了必须使用WB和IE自动化的任务 - 它们产生了不同的结果。

AFAIK WB使用已安装的IE引擎渲染html,我也强制使用FEATURE_BROWSER_EMULATION(8000)。为什么会出现这样的问题?

P.S。不知道这是否有帮助,但问题是关于flash视频,它一直在IE中成功加载,但在WebBrowser中只有一次,重新加载或导航到此Flash视频后,页面脚本和闪存都出现故障。

2 个答案:

答案 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>

你得到了什么?

  • Microsoft Internet Explorer 4.0(兼容; MSIE 7.0; ......或
  • Microsoft Internet Explorer 4.0(兼容; MSIE 8.0; ...-

如果从vs.net运行应用程序,可能会发生应用程序的身份不是“yourapplicationname.exe”而是“yourapplicationname.vshost.exe”使您的设置失败。

使用像youtube这样的Flash视频检查其他外部网页,看看错误是否仍然存在。