2010-06-15 10 views
8

Estoy construyendo una aplicación de Windows Forms que hace uso del control WebBrowser. ¿Alguien puede decirme qué motor de representación utiliza el control?¿Cuál es la versión del navegador de un control WebBrowser en Windows Forms

¿Está fijado en base a la versión de .NET framework que estoy desarrollando o está basado en la versión de IE instalada en la máquina del cliente? ¿El cliente incluso necesita IE?

En otras palabras, si un sitio web se ve bien en mi aplicación en mi máquina, ¿es razonablemente seguro asumir que funcionará correctamente en la máquina de los demás?

Gracias!

Respuesta

4

Será la versión de IE instalada en la máquina de destino. Solo puede haber uno, IE no es compatible con la instalación de versiones paralelas. No se sabe con certeza si su aplicación funcionará sin problemas a menos que la pruebe en diferentes máquinas que tengan las versiones 6, 7 y 8 instaladas. Esta es normalmente la carga del autor del sitio web.

+0

Justo lo que quería saber, ¡gracias! Estamos desarrollando un sitio específicamente para ser cargado en este control. Los chicos de la web estarán encantados de escuchar que todavía necesitan probar en IE6 !! ; o) –

+0

[Aquí] (https://blogs.msdn.microsoft.com/ie/2009/03/10/more-ie8-extensibility-improvements/) msdn dice que * "Por razones de compatibilidad, el control WebBrowser ejecutar en IE7 Standards Mode de forma predeterminada si no se define ningún valor Key Key Control para una aplicación. "* ¿Cómo va tu afirmación con eso? Si tengo IE11 instalado en la máquina que ejecuta la aplicación con WebBrowser, y no se especificó ninguna clave de control de funciones, ni ninguna etiqueta de compatibilidad meta (que por cierto no parece tener efecto en mi caso), no está de acuerdo y reclama el La versión de IE que WebBrowser ejecutará es 11, en vez de 7? – Veverke

+0

Tiene IE11, * emula * las peculiaridades de IE7. La clave de registro FEATURE_BROWSER_EMULATION se puede usar para alterar o deshabilitar esta emulación. –

0

Debe establecer la clave de registro, de lo contrario el Webbrowser rendirá como IE4

Ver aquí: http://www.west-wind.com/weblog/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

clave de registro de localización de EMULACION FEATURE_BROWSER Puede especificar estas claves en el registro en:

HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION La clave HKCU es el mejor lugar para establecer estos valores porque hay una sola clave y se puede establecer sin ut derechos de administrador, pero también se puede configurar estas teclas a pie de máquina en HKLM:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION o para una aplicación de 32 bits en un equipo de 64 bits:

HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION

nombre de clave el nombre de clave es el nombre EXE de su aplicación como:

outlook.exe MarkdownMonster.exe

Valores

El valor especifica la versión IE como sigue:

El valor para establecer esta clave a es (tomado de MSDN aquí) como valores decimales:

11001 (0x2AF9) Internet Explorer 11. Las páginas web se muestran en modo Estándares IE11, independientemente de la directiva! DOCTYPE.

11000 (0x2AF8) Internet Explorer 11. Las páginas web que contienen directivas! DOCTYPE basadas en estándares se muestran en modo IE9.

10001 (0x2AF7) Internet Explorer 10. Las páginas web se muestran en modo Estándares IE10, independientemente de la directiva! DOCTYPE.

10000 (0x2710) Internet Explorer 10. Las páginas web que contienen directivas! DOCTYPE basadas en estándares se muestran en modo IE9.

9999 (0x270F) Internet Explorer 9. Las páginas web se muestran en modo Estándares IE9, independientemente de la directiva! DOCTYPE.

9000 (0x2328) Internet Explorer 9. Las páginas web que contienen directivas! DOCTYPE basadas en estándares se muestran en modo IE9.

8888 (0x22B8) Las páginas web se muestran en el modo Estándares IE8, independientemente de la directiva! DOCTYPE.

8000 (0x1F40) Las páginas web que contienen directivas! DOCTYPE basadas en estándares se muestran en modo IE8.

7000 (0x1B58) Las páginas web que contienen directivas! DOCTYPE basadas en estándares se muestran en el modo Estándares IE7. Este modo es inútil ya que es el predeterminado.

Al configurar estas teclas, las aplicaciones pueden usar las últimas versiones de Internet Explorer en su máquina fácilmente. Desafortunadamente, no parece haber una clave que diga usar la última versión que está instalada; desafortunadamente, tiene que ser específico con respecto a la versión. Dado que Windows 7 y posterior pueden ejecutar IE 11, estoy requiriendo que los usuarios tengan IE 11 si quiero usar HTML5 y funciones CSS más avanzadas como Flexbox, pero si su contenido es más simple, probablemente pueda usar IE 10 o incluso IE 9.

Cuestiones relacionadas