5

我在使用 WebBrowser 控件导航到网站时遇到了 IE8 兼容性问题。奇怪的是网站有时可以工作,但很可能不会。我有时可以刷新页面,它也可以正常工作。

刚进入 IE8 中的页面,我遇到了同样的 CSS 渲染问题,所以我切换到兼容模式,它刷新并正确渲染。

有没有办法为 WebBrowser 控件模拟这种效果。我希望能够像在 Internet Explorer 中那样单击按钮并关闭和打开模式。

这可能吗?如果是这样,有人知道怎么做吗?

谢谢

4

3 回答 3

4

IEBlog上关于 WebBrowser 呈现模式和 IE8的这篇文章会有帮助吗?似乎您必须使用注册表中的键设置特定于您的应用程序的呈现模式。

于 2010-01-13T08:37:52.540 回答
4

我知道注册表项的答案已经发布,所以我想我会提供一个替代方案。

您是否拥有该站点并对其运行的服务器具有权限?如果是这样,您可以为站点/服务器上的每个页面设置要发送的 X-UA-Compatible 标头。有关 Apache/IIS7 的信息和链接,请参阅http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx#Servers

于 2010-01-13T08:41:50.023 回答
0

您可以使用 IE 注册表项中的“Internet 功能控件”强制应用程序内的嵌入式 WebBrowser 呈现模式:

HKEY_LOCAL_MACHINE 或 HKEY_CURRENT_USER
   软件
      微软
         IE浏览器
            主要的
               功能控制
                  FEATURE_BROWSER_EMULATION
                     YouApp.exe = (DWORD) 00000000(见下面的值)
  • 值 9999 (0x270F)
    Windows Internet Explorer 9。无论 !DOCTYPE 指令如何,网页都以 IE9 标准模式显示。

  • 值 9000 (0x2328)
    Internet Explorer 9。包含基于标准的 !DOCTYPE 指令的网页以 IE9 模式显示。

  • 值 8888 (0x22B8)
    无论 !DOCTYPE 指令如何,网页都以 IE8 标准模式显示。

  • 8000 (0x1F40)
    包含基于标准的 !DOCTYPE 指令的网页以 IE8 模式显示。

  • 7000 (0x1B58)
    包含基于标准的 !DOCTYPE 指令的网页以 IE7 标准模式显示。

+1 如果您发现始终以当前安装的版本运行 WebBrowser 的价值。

来源:http: //msdn.microsoft.com/en-us/library/ee330730%28VS.85%29.aspx#browser_emulation

于 2012-05-31T00:49:51.107 回答