vista predeterminar predeterminado predeterminada modo internet emulador emulacion documento compatibilidad change características caracteristicas cambiar internet-explorer browser conditional-comments internet-explorer-11 ie11-developer-tools

internet-explorer - predeterminado - predeterminar emulacion internet explorer



¿Por qué Internet Explorer 11 no respeta los comentarios condicionales incluso cuando se emula el modo de documento de Internet Explorer 8? (8)

Estoy usando las nuevas herramientas de desarrollador de Internet Explorer 11 para cambiar el modo de documento a "8", pero los comentarios condicionales todavía se ignoran, es decir, no se analizan correctamente y se comportan como comentarios normales. Por lo tanto, cualquier archivo al que se haga referencia dentro del comentario condicional no es solicitado / cargado por el navegador.

¿Por qué pasó esto? ¿Es un error?

Si cree que se trata de un error que debe corregirse, ingrese y diga que también puede reproducir esto en el informe de errores de Microsoft que se informa para este problema:
Los comentarios condicionales no funcionan cuando se emulan modos de documentos a través de F12 Developer Tools .

Actualización: se informó que este problema se corrigió en el informe de error mencionado.


Algunos de los comentarios condicionales funcionan como '' gt '' y '' lt '', pero por ejemplo <!--[if IE 8]> no funciona. Esto seguramente es un inconveniente para los desarrolladores que desean probar cómo se ven sus páginas web en las diferentes versiones de los navegadores de Internet Explorer, pero no todas son malas noticias.

Aunque los comentarios condicionales no funcionan, puede probar cómo se ve su página web en cada una de las versiones de Internet Explorer agregando las hojas de estilo de una en una: supongamos que tiene una hoja de estilo para Firefox, Chrome, Internet Explorer 10 e Internet Explorer. 11 llamado '' screen.css '', y otra hoja de estilo SOLAMENTE para Internet Explorer 9 llamada '' screen-ie9.css '' y otra SOLAMENTE para Internet Explorer 8 llamada '' screen-ie8.css ''.

Para probar sus páginas web SOLAMENTE para Internet Explorer 9, puede hacer esto:

<link rel="stylesheet" href="path/css/screen.css" type="text/css" /> <link rel="stylesheet" href="path/css/screen-ie9.css" type="text/css" />

y en las herramientas de desarrollador de F12, sección Emulación, configure el ''Modo de documento'' a ''9'' y la ''cadena de agente de usuario'' a ''Internet Explorer 9''. El modo de documento es el estándar que utiliza Internet Explorer 9 y la cadena de agente de usuario es el navegador en sí.

PD: supongo que el '' screen.css '' es su hoja de estilo base, que es la razón por la que lo llamo primero, luego de "sobreescribir" las correcciones de Internet Explorer 9 más tarde al llamar a '' screen-ie9.css '' en segundo lugar.

Al hacer esto, puede estar "seguro" (tengo que probar con las máquinas virtuales para escribir la palabra "seguro" sin comillas) que está viendo su página web en un navegador Internet Explorer 9. Cuando haya terminado de probar y diseñar en Internet Explorer 9, y quiera probar con Internet Explorer 8, puede hacer fácilmente el mismo truco reemplazando esto:

<link rel="stylesheet" href="path/css/screen-ie9.css" type="text/css" />

con este:

<link rel="stylesheet" href="path/css/screen-ie8.css" type="text/css" />

Por lo tanto, es solo una cuestión de inconvenientes MENORES por parte de Microsoft, PERO las herramientas de los nuevos desarrolladores F12 están ofreciendo MUCHAS características increíbles, lo que hace que esto no sea un gran problema.


Esto funcionó para mí y parece la solución más elegante / fácil ( Internet Explorer 10 e Internet Explorer 11 supongo que son los únicos navegadores compatibles -ms-high-contract ).

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { /* IE10+ specific styles go here */ }


Intenté usar esto en Internet Explorer 11 en Windows 7 para asegurarme de que mis elementos semánticos HTML5 usados ​​se crearan para Internet Explorer 8 y versiones posteriores (a través de comentarios condicionales), y el navegador simplemente los ignora. -_-

Esta característica funcionó perfectamente bien en Internet Explorer 10 , y Microsoft simplemente tuvo que jugar con ella, ¿verdad?

<!--[if lte IE 8]><script src="ie8-html5.js"></script><![endif]-->

Aparte de esto, estoy disfrutando de Internet Explorer, lo que supone un cambio.


No vi que se mencionara aquí, pero en este informe de error se señala que, si cambia la configuración de vista de compatibilidad, los comentarios condicionales funcionan como se esperaba. Asi que:

  1. En IE11, haga clic en "Herramientas"
  2. Configuración de la vista de compatibilidad
  3. Escriba la URL y haga clic en Agregar

Parece estar funcionando bien ahora en mi servidor local. No he probado esto exhaustivamente, pero tal vez ayude a alguien.


Recientemente me encontré con el mismo problema. También encontré que algunos comentarios condicionales funcionan:

  • gt y funcionó bien
  • gte y lte nunca funcionaron

Entonces, una posible solución sería cambiar los enunciados condicionales para usar los operadores gt y lt .

La otra alternativa, que encontré más útil, fue usar un servicio como browserstack .


Tengo otra solución para esto.

Internet Explorer 11 con el modo de compatibilidad de Internet Explorer 8 activado contiene la cadena ''MSIE 8.0'', por lo que:

(Ejemplo de PHP)

if (strpos($_SERVER[''HTTP_USER_AGENT''],''MSIE 8.0'') !== false) { $head[] = sprintf(''<link rel="stylesheet" href="ie8.css" />''); }


Tuve el mismo problema, me volvía loco toda la mañana. Agregué Modernizr , y seleccioné todas las opciones, incluido yepnope.js.

Así que ahora mi prueba se ve así:

Modernizr.load({ test: Modernizr.canvas, nope: [''Content/Site-ie-8.min.css'', ''Content/font-awesome-ie7.min.css''] });

En este caso, pruebo el lienzo (que no es compatible con Internet Explorer 9), así que cargo mi contenido condicional. Esto ahora funciona al cambiar los modos de navegador en las herramientas de desarrollo de Internet Explorer 11.


De acuerdo con Jacob Rossi [MSFT]

Esto debería arreglarse en la Actualización 1 para IE11, lanzada la semana pasada .

Eso fue publicado el 22 de abril de 2014.

Al ejecutar algunas pruebas, parece que esto se solucionó y todo vuelve a funcionar sin problemas para probar el navegador más increíble que se haya producido ... ¡Internet Explorer!