Supongamos que tiene una página con un doctype relativamente estricto y un marcado HTML que está muy cerca de cumplir, pero tal vez se pierda de algunas maneras tontas, tal vez debido al contenido del usuario que está fuera de su control ... digamos que está trabajando en un contenido sistema de administración o un tema para un sistema de administración de contenido en el que controlas alguna estructura básica y necesitas un poco de JavaScript, pero no eres responsable de todo lo demás que entra en las páginas.
¿Cómo puede saber (o: qué determinará) cuándo el navegador decide entrar en modo "peculiaridades" en lugar de usar su motor más compatible con los estándares?
Estoy buscando respuestas para cada uno de los principales navegadores, ya que IE, Chrome, Safari y Firefox, por supuesto, manejarán eso de manera diferente. ¿Un solo error es suficiente para forzarlo o tienes algún margen de maniobra?
fuente
Como puede consultar el modo de representación en JavaScript, puede tener un Bookmarklet que le dirá qué modo de representación está utilizando una página.
Encontré este bookmarklet en modo render que me funciona bien:
fuente
La respuesta completa a su pregunta específica real de '¿Es un solo error suficiente para forzarlo o tiene algún margen de maniobra?' es que depende totalmente del error. Por ejemplo,
forzará el modo caprichos en IE 6 y 7 a pesar de no ser realmente un error (simplemente arrojan un tambaleo total cuando la primera línea del archivo no es una declaración). Puede encontrar una lista rápida de tipos / peculiaridades aquí
Intente pegar la siguiente línea en su HTML para probar (muy mal comportamiento de JavaScript que paso aquí - lo siento ... asegúrese de que esto nunca se active :)
fuente
De acuerdo con http://www.quirksmode.org/css/quirksmode.html : "El problema era que algunas páginas escritas en modo peculiar tenían doctypes. Por lo tanto, cada navegador tiene su propia lista con doctypes que activan el modo peculiar. Vea este navegador tabla de comparación para obtener una descripción general de estas listas: http://hsivonen.iki.fi/doctype/ "
Espero que esto ayude
fuente
Si le dice a IE que debe ser estricto (a través de doctype), no cambiará de opinión a la mitad de la página.
fuente
Si entiendo correctamente el modo de peculiaridades, una página que no se valida contra su tipo de documento declarado no es suficiente para activar el modo de peculiaridades. Simplemente no se mostrará correctamente.
El mejor recurso que he encontrado para determinar cómo los diferentes navegadores manejan cada tipo de documento está aquí .
fuente
Para agregar Firefox con Web Developer Toolbar, puede ver el trío de iconos a la derecha de la barra. El que está más a la izquierda te dice en qué modo estás.
fuente
En IE lo verá en las herramientas del desarrollador (presionando F12), lo dice en el menú: Modo de documento: ... Y también puede forzar un modo diferente allí.
fuente
en la página html5, escriba "
<!DOCTYPE html>
" comenzar con la página puede cambiar a document.compatMode = 'CSS1Compat'fuente