2010-12-05 11 views

Respuesta

13

No proporciona mucho contexto para su pregunta, pero supongo que está hablando del User Agent string que se envía cuando utiliza el WebBrowser control integrado en .NET Framework.

Como ese control solo usa Internet Explorer para representar la página, verá una cadena de agente de usuario muy similar a la que encontraría si visitara la página usando IE en la misma computadora. La cadena de IE se informa genéricamente como Mozilla/4.0 compatible, pero también proporciona la versión específica de MSIE y enumera la versión actual de Windows.

Por ejemplo, se ejecuta en la versión de 64 bits de Windows Server 2008 R2 con la versión 4.0 de .NET Framework, yo estoy identificado de la siguiente manera cada vez que navegar por las páginas del control de WebBrowser:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6,1)

Por el contrario, Internet Explorer en la misma máquina de la muestra como la cadena de agente de usuario:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6,1)

La única diferencia es que los .NET WebBrowser controlarse informes como Internet Explorer versión 7.0 (MSIE 7.0), en lugar de la versión 8.0 que se instala en la máquina. Esto se debe a que el control utiliza el motor de representación de IE 7, en lugar del de IE 8, por razones de compatibilidad. Si lo desea, puede change this editando un valor de registro.

Para ejecutar un control WebBrowser en modo estándar de IE8, utilice el siguiente nuevo valor en el registro:

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

Para funcionar en el modo de estándares Internet Explorer 7, utilice el siguiente valor del registro:

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

+0

¡Esto es brillante! Me ayudó de inmediato. Me pregunto si hay ** otra forma ** que editar el registro. – wpfwannabe

+0

Este enlace: ttp: //blog.notfaqs.com/2013/05/net-get-user-agent-string-of-webbrowser.html me ayudó a obtener los detalles en tiempo de ejecución. Las propiedades significativas para el objeto del navegador parecían ser userAgent, appCodeName, appName, appVersion y platform. – user326608

+0

@wpfwannabe, puede usar [X-UA-Compatible] (https://msdn.microsoft.com/en-us/library/ms533876%28v=vs.85%29.aspx), lo que hará que el navegador web use el modo de documento correcto para renderizar la página.La cadena del agente de usuario desafortunadamente no sería modificada por X-UA-Compatible, tenemos que usar un truco para reemplazar la cadena del agente en el lado del cliente usando JavaScript. Pero no se requiere cambio de clave de registro. –

Cuestiones relacionadas