我想在 C# 应用程序中使用 IE8 作为 WebBrowser 控件。如何禁用“怪异模式”并强制 IE 符合标准(就其实施而言)?

有帮助吗?

解决方案

我想你所面临的问题的 IEBlog:web浏览器控件渲染模式在IE8

  

虽然网站管理员可以容易地改变   他们的网站在正确呈现   IE的新版本中,许多软件   厂商所不具备的资源   即刻推出的新版本   它们与更新的应用程序   内部网页。   为了确保这些现有的   应用程序仍然处于正常工作状态,   的 IE8呈现的网页中运行的   在web浏览器控件的实例   IE7标准模式默认

在这里我要指出的是,网页上的评论说,以上是不正确的,即“ IE8呈现在默认情况下IE7严格模式或Quirks模式下WebBrowser控件的实例中运行的网页,根据在页面的DOCTYPE“。

在解决方案如下:

  

当一个可执行加载一个实例   WebBrowser控件,它扫描   注册表,以检查是否   可执行希望IE7标准或IE8   标准模式。

     

...

     

要在IE8标准模式下插入运行   以下注册表值:

     

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_NATIVE_DOCUMENT_MODE]

     

"MyApplication.exe"=dword:13880

     

在这两种情况下,   MyApplication.exe应及时更换   与可执行文件的名称   将要运行的WebBrowser控件   指定的模式。

所以,它听起来像“方案”的解决方案是写在注册表中的一个关键说你想在特定的应用程序IE8标准模式WebBrowser控制。

其他提示

如果你不想使用注册表关键技术,可以插入以下标记:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

“内容”属性力呈现在各种模式。

我最后听说 IE8 会使用 默认标准模式. 。您是否发现最新测试版存在实际问题?您确定它一开始就以怪异模式呈现,而无需用户明确点击 兼容性视图按钮?

请注意发生了一些变化公测以来,注册表项已被重命名等的更多此处

这具有实际的代码来编程做到这一点,可处理高达IE11到目前为止:

C#web浏览器的AJAX调用

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top