c# - Web 浏览器组件是 IE7 不是 IE8?如何改变这个?

标签 c# winforms internet-explorer-8 internet-explorer-7 webbrowser-control

所以我有一个使用 Web 浏览器组件的 C# 窗体应用程序。显然 Response.Write(Request.Browser.Version.ToString());当我从 Web 浏览器组件访问我的测试页面时返回“7.0”。

如何让这个网络浏览器组件使用 IE8?

最佳答案

看来您需要按照这篇文章修改注册表:-

http://blogs.msdn.com/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx

要在 IE8 标准模式下运行 WebBrowser 控件,请在注册表中使用以下新值:

[(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 
"MyApplication.exe" = dword 8000 (Hex: 0x1F40)

要在 IE7 标准模式下运行,请使用以下注册表值:

[(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 
"MyApplication.exe" = dword 7000 (Hex: 0x1B58)

对于 IE8 RTM,我们添加了一个新的“强制”IE8 标准模式值。当应用程序选择进入此模式时,Web 浏览器控件将严格使用 IE8 用户代理字符串和浏览器仿真模式。它还会在加载页面时忽略后备功能,例如内置的兼容性 View 列表和用户生成的兼容性 View 列表。要在“强制”IE8 标准模式下运行,请使用以下注册表值:

[(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] 
"MyApplication.exe" = dword 8888 (Hex: 0x22B8)

在所有这些示例中,“MyApplication.exe”指的是您的应用程序的名称。

关于c# - Web 浏览器组件是 IE7 不是 IE8?如何改变这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1786905/

相关文章:

c# RichTextBox 标签大小

c# - sql char 和 varchar 数据类型不支持哪些字符

windows - "Spy++ has encountered a problem in the message hook"

c# - 从数据库中获取平均日期时间并从另一个日期中减去一个日期

c# - 文件名未传递给 main

css - IE 8 行高问题

c++ - 尝试使用 IViewObject::Draw() 将 Web 浏览器控件渲染到 HDC 中在 IE8 中失败,但在 IE11 中成功

internet-explorer-8 - IE8。溢出隐藏 + 最小宽度 : is there a workaround to this strange behavior?

c# - 字节数组子串

c# - 将具有立方体坐标的六边形移动成正方形