visual studio explorador ejecutar code cambiar c# winforms internet-explorer-8 internet-explorer-7 webbrowser-control

c# - studio - El componente del navegador web es IE7, no IE8? ¿Cómo cambiar esto?



cambiar explorador en visual studio 2010 (3)

La respuesta puede llegar tarde y es posible que no se aplique a su caso, pero según la respuesta de Ron a la pregunta WPF .net4 webBrowser e Internet Explorer 8 , también puede controlar el navegador web si tiene control sobre la página servida:

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

Si bien esto aparentemente no cambia el agente de usuario, parece que condicionales como

<!--[if lt IE 8]>

y CSS border-radius se están evaluando correctamente, lo que indica que el motor más nuevo (IE 9 en mi sistema) se está utilizando en realidad a pesar de que el agente de usuario informa MSIE 7.0.

Así que tengo una aplicación de formulario C # que utiliza el componente del navegador web. Aparentemente Response.Write (Request.Browser.Version.ToString ()); devuelve "7.0" cuando visito mi página de prueba desde el componente del navegador web.

¿Cómo puedo hacer que este componente del navegador web use IE8?


Parece que necesitas jugar con el registro según este artículo:

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

Para ejecutar un control WebBrowser en IE8 Standards Mode, use el siguiente valor nuevo en el registro:

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

Para ejecutar en IE7 Standards Mode, use el siguiente valor de registro:

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

Para IE8 RTM, hemos agregado un nuevo valor "Forzado" de IE8 Standards Mode. Cuando una aplicación opta por este modo, el control del navegador web utilizará la cadena de agente de usuario IE8 y el modo de emulación del navegador estrictamente. También ignorará las características de respaldo, como la lista de Vista de compatibilidad incorporada y la lista de Vista de compatibilidad generada por el usuario al cargar páginas. Para ejecutar en el modo de estándares IE8 "forzado", use el siguiente valor de registro:

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

En todos estos ejemplos, "MyApplication.exe" hace referencia al nombre de su aplicación.


Seguí esto y no funcionó hasta que me di cuenta de que era porque estaba depurando en Visual Studio.

Además de configurar el registro para su aplicación:

Registry.SetValue(@"HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/MAIN/FeatureControl/FEATURE_BROWSER_EMULATION", System.AppDomain.CurrentDomain.FriendlyName, value);

También debe configurarlo para su aplicación de depuración (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);