我在使用 WebBrowser 控件导航到网站时遇到了 IE8 兼容性问题。奇怪的是网站有时可以工作,但很可能不会。我有时可以刷新页面,它也可以正常工作。
刚进入 IE8 中的页面,我遇到了同样的 CSS 渲染问题,所以我切换到兼容模式,它刷新并正确渲染。
有没有办法为 WebBrowser 控件模拟这种效果。我希望能够像在 Internet Explorer 中那样单击按钮并关闭和打开模式。
这可能吗?如果是这样,有人知道怎么做吗?
谢谢
我在使用 WebBrowser 控件导航到网站时遇到了 IE8 兼容性问题。奇怪的是网站有时可以工作,但很可能不会。我有时可以刷新页面,它也可以正常工作。
刚进入 IE8 中的页面,我遇到了同样的 CSS 渲染问题,所以我切换到兼容模式,它刷新并正确渲染。
有没有办法为 WebBrowser 控件模拟这种效果。我希望能够像在 Internet Explorer 中那样单击按钮并关闭和打开模式。
这可能吗?如果是这样,有人知道怎么做吗?
谢谢
IEBlog上关于 WebBrowser 呈现模式和 IE8的这篇文章会有帮助吗?似乎您必须使用注册表中的键设置特定于您的应用程序的呈现模式。
我知道注册表项的答案已经发布,所以我想我会提供一个替代方案。
您是否拥有该站点并对其运行的服务器具有权限?如果是这样,您可以为站点/服务器上的每个页面设置要发送的 X-UA-Compatible 标头。有关 Apache/IIS7 的信息和链接,请参阅http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx#Servers。
您可以使用 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