Acabo de instalar IE9 beta y en un sitio específico que creé (HTML5) IE9 salta al modo de compatibilidad a menos que lo indique manualmente. He intentado eliminar varias partes del sitio web pero no he cambiado. Incluyendo eliminar todos los CSS incluidos. En algún otro sitio web mío, todo va bien.
Además, no lo configure manualmente porque IE9 recuerda la configuración del usuario y no puede volverlo a automático (o al menos no he encontrado cómo, ni siquiera a través de la navegación privada y el vaciado de caché)
De todas formas. El sitio donde salta al modo de compatibilidad: http://alliancesatwar.com/guide/
Uno donde se muestra correcto: http://geuze.name/basement/ (No puedo publicar más de 1 hipervínculo)
Ambos usan lo mismo doctype
y todo. Esos sitios tienen mucho en común (aparte de la apariencia) usando la misma plantilla básica (codificación, metaetiquetas, doctype y el mismo javascript)
¡Sería genial si alguien tuviera una respuesta para mí! Un sitio web HTML5 que se procesa en modo IE7 es bastante ... aburrido.
Respuestas:
Funciona en IE9 documentMode para mí.
Sin un
X-UA-Compatible
encabezado / meta para establecer un modo de documento explícito, obtendrá un modo basado en:Puede cambiar esta configuración desde 'Herramientas -> Configuración de vista de compatibilidad' desde el menú IE. Por supuesto, ese menú ahora está oculto furtivamente, por lo que no lo verá hasta que presione Alt.
Como autor del sitio, si está seguro de que su sitio cumple con los estándares (se ve bien en otros navegadores y utiliza la detección de características para decidir qué soluciones alternativas usar), sugiero usar:
o el encabezado HTTP:
para obtener el último procesador independientemente de la versión de IE que esté en uso.
fuente
<meta>
etiquetas deben estar dentro de los primeros 512 bytes de un archivo HTML procesado. Digo "procesado" porque puedes tener todo tipo de PHP ahí arriba, pero el código renderizado es lo importante. Llegué a donde puse todos mis comentarios sobre<meta>
debajo de las<meta>
etiquetas, para no romper el requisito.pongo
lo primero después
(Lo leí en alguna parte, no recuerdo)
¡No podía creer que funcionó!
fuente
<script>
s dentro<head>
antes de estameta
declaración, se ignorará (IE = edge).Para forzar a IE a renderizar en modo estándar IE9, debe usar
Algunas condiciones pueden hacer que IE9 salte a los modos de compatibilidad. Por defecto, esto puede ocurrir en sitios de intranet.
fuente
IE=edge
en su lugar, que invoca el uso del último motor disponible, siempre.He publicado este comentario en un hilo separado de StackOverflow, pero pensé que valía la pena repetirlo aquí:
Para nuestra aplicación interna ASP.Net, agregar la etiqueta "Compatible con X-UA" en la página web, en web.config o en el código subyacente no hizo absolutamente ninguna diferencia.
Lo único que funcionó para nosotros fue desactivar manualmente esta configuración en IE8:
(Suspiro.)
Este problema solo parece suceder con IE8 e IE9 en sitios de intranet. Los sitios web externos funcionarán bien y usarán la versión correcta de IE8 / 9, pero para los sitios web internos, IE9 de repente decide que en realidad es IE7 y no tiene soporte para HTML 5.
No, tampoco entiendo esta lógica.
Mi solución reacia ha sido probar si el navegador es compatible con HTML 5 (creando un lienzo y probando si es válido), y mostrando este mensaje al usuario si no es válido:
No es particularmente fácil de usar, pero hacer que el usuario apague esta configuración molesta parece ser la única forma de permitirles ejecutar correctamente las aplicaciones web HTML 5 internas.
O haga que los usuarios usen Chrome. ;-)
fuente
El sitio en http://www.HTML-5.com/index.html tiene la metaetiqueta compatible con X-UA pero aún entra en la Vista de compatibilidad como lo indica el icono de "página rota" en la barra de direcciones. ¿Cómo se obtiene la opción de menú para forzar a IE 9 (versión final 9.0.8112.16421) a representar una página en modo estándar? Intenté hacer clic derecho en el icono de la página rota, así como en el truco de la tecla "Alt" para mostrar las opciones de menú adicionales mencionadas por Rene Geuze, pero no funcionaron.
fuente
application/xhtml+xml
, por lo que se utilizan reglas de análisis XML; XML no admite comentarios condicionales. En cualquier caso, no tiene ningún sentido; el navegador debe elegir un modo antes de poder decidir qué comentarios condicionales interpretar.Como un aparte en los sitios web más modernos, si está usando declaraciones condicionales en su etiqueta html según el estándar, esto por alguna razón causará que ie9 cambie por defecto al modo de compatibilidad. La solución aquí es mover sus declaraciones condicionales fuera de la etiqueta html y agregarlas a la etiqueta del cuerpo, en otras palabras, fuera de la sección de cabecera. De esa manera, aún puede usar esas clases en su hoja de estilo para apuntar a navegadores más antiguos.
fuente
Luce bien para mi:
¿Estás seguro de que no lo hiciste en la configuración a nivel mundial o algo así? Esta es una instalación limpia de la versión beta en Windows 7. Las herramientas del desarrollador informan que la página está configurada de manera predeterminada en el modo estándar IE9.
fuente
Recientemente tuve que resolver este problema y esto es lo que hice:
En primer lugar, esta solución consiste en ajustar el servidor Apache.
La segunda idea principal es que hay un error en el IE9, lo que significa que la metaetiqueta no funcionará, en lugar de esta solución, intente esto
descomentar / o agregar la siguiente línea
agregue las siguientes líneas
guardar / reiniciar su servidor Apache,
fuente