Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Web Browser component is IE7 not IE8? How to change this?

So I have an C# Form application that utilizes the web browser component. Apparently Response.Write(Request.Browser.Version.ToString()); returns "7.0" when I visit my test page from the web browser component.

How can I make this web browser component use IE8?

like image 960
Chris Avatar asked Nov 23 '09 23:11

Chris


2 Answers

It appears you need to fiddle with the registry as per this article: -

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

To run a WebBrowser control in IE8 Standards Mode, use the following new value into the registry:

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

To run in IE7 Standards Mode, use the following registry value:

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

For IE8 RTM, we’ve added a new “forced” IE8 Standards Mode value. When an application opts into this mode, the Web Browser control will use the IE8 User-Agent string and Browser Emulation mode strictly. It will also ignore fallback features such as the built-in Compatibility View list and the user-generated Compatibility View list when loading pages. To run in “forced” IE8 Standards Mode, use the following registry value:

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

In all of these examples, “MyApplication.exe” refers to the name of your application.

like image 106
Plip Avatar answered Sep 23 '22 02:09

Plip


The answer may come late and might not apply to your case, but according to Ron's answer on the question WPF .net4 webBrowser and Internet Explorer 8, you can also control the web browser if you have control over the served page:

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

While this apparently does not change the user agent, it seems that conditionals like

<!--[if lt IE 8]> 

and CSS border-radius are being evaluated properly, indicating that the newest engine (IE 9 on my system) is actually being used despite the user agent reporting MSIE 7.0.

like image 29
Arc Avatar answered Sep 24 '22 02:09

Arc