Pregunta

Quiero usar IE8 como control WebBrowser en una aplicación C#.¿Cómo puedo desactivar el "modo peculiaridad" y obligar a IE a cumplir con los estándares (en la medida en que esté implementado)?

¿Fue útil?

Solución

Creo que el problema que enfrenta se describe en IEBlog: Modos de representación de control de WebBrowser en IE8 :

  

Mientras que los webmasters pueden alterar fácilmente   su sitio para representar correctamente en el   nueva versión de IE, muchos programas   los vendedores no tienen los recursos para   saca al instante nuevas versiones de   sus aplicaciones con actualizado   páginas internas   Con el fin de garantizar que estos existentes   las aplicaciones permanecen en funcionamiento,    IE8 procesa las páginas que se ejecutan en   instancias del control WebBrowser en   Modo de estándares IE7 de forma predeterminada.

Aquí debo tener en cuenta que los comentarios en la página dicen que lo anterior es incorrecto, y que " IE8 procesa las páginas que se ejecutan dentro de instancias del control WebBrowser en el modo estricto de IE7 o el modo Quirks por defecto , según el tipo de documento de la página. "

La solución es la siguiente:

  

Cuando un ejecutable carga una instancia   del control WebBrowser escanea el   registro para verificar si el   ejecutable quiere estándares IE7 o IE8   Modo de estándares.

     

...

     

Para ejecutar en el modo de estándares IE8 insertar   el siguiente valor de registro:

     

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_NATIVE_DOCUMENT_MODE]

     

"MyApplication.exe"=dword:13880

     

En ambos casos,   MyApplication.exe debe reemplazarse   con el nombre del ejecutable que   ejecutará controles WebBrowser en   un modo especificado.

Entonces suena como el " programático " La solución es escribir una clave en el registro que indique que desea el modo de estándares IE8 para WebBrowser controles en su aplicación específica.

Otros consejos

Si no desea utilizar la técnica de clave de registro, puede insertar la siguiente etiqueta:

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

El " contenido " El atributo fuerza la representación en varios modos.

Lo último que escuché fue que IE8 usaría modo estándar por defecto . ¿Estás viendo un problema real con la última versión beta? ¿Está seguro de que está comenzando en modo peculiar para empezar, sin que un usuario presione explícitamente el botón de vista de compatibilidad ?

Tenga en cuenta que ha habido algunos cambios desde la versión beta, las claves de registro han cambiado de nombre, etc. Lea más aquí .

Esto tiene un código real para hacer esto programáticamente y maneja hasta IE11 hasta ahora:

C # webbrowser Ajax call

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top