Chr*_*ris 37 c# webbrowser-control internet-explorer-8 winforms internet-explorer-7
所以我有一个利用Web浏览器组件的C#Form应用程序.显然是Response.Write(Request.Browser.Version.ToString()); 当我从Web浏览器组件访问我的测试页时返回"7.0".
如何使这个Web浏览器组件使用IE8?
Pli*_*lip 33
根据这篇文章,你似乎需要摆弄注册表: -
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)
Run Code Online (Sandbox Code Playgroud)
要在IE7标准模式下运行,请使用以下注册表值:
[(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"MyApplication.exe" = dword 7000 (Hex: 0x1B58)
Run Code Online (Sandbox Code Playgroud)
对于IE8 RTM,我们添加了一个新的"强制"IE8标准模式值.当应用程序选择进入此模式时,Web浏览器控件将严格使用IE8 User-Agent字符串和浏览器仿真模式.它还会在加载页面时忽略回退功能,例如内置兼容性视图列表和用户生成的兼容性视图列表.要在"强制"IE8标准模式下运行,请使用以下注册表值:
[(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE)\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"MyApplication.exe" = dword 8888 (Hex: 0x22B8)
Run Code Online (Sandbox Code Playgroud)
在所有这些示例中,"MyApplication.exe"指的是您的应用程序的名称.
Arc*_*dix 28
答案可能会迟到,可能不适用于您的情况,但根据Ron对WPF .net4 webBrowser和Internet Explorer 8问题的回答,如果您可以控制所提供的页面,您还可以控制Web浏览器:
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
Run Code Online (Sandbox Code Playgroud)
虽然这显然不会改变用户代理,但似乎条件似的
<!--[if lt IE 8]>
Run Code Online (Sandbox Code Playgroud)
border-radius
正在对CSS 进行正确评估,表明尽管用户代理报告了MSIE 7.0,但实际上仍在使用最新的引擎(我系统上的IE 9).
Pas*_*aye 16
我确实遵循了这一点,直到我意识到这是因为我在visual studio中进行调试才有效.
除了为您的应用程序设置注册表之外:
Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION",
System.AppDomain.CurrentDomain.FriendlyName, value);
Run Code Online (Sandbox Code Playgroud)
您还应该为调试(visual studio hosted)应用程序设置它:
Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION",
System.AppDomain.CurrentDomain.FriendlyName.Replace(".exe",".vshost.exe"), value);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
39630 次 |
最近记录: |