Pregunta

Sé que los navegadores modernos generalmente tienen dos modos de procesamiento: modo estándar y modo peculiar. El navegador detecta el encabezado DocType.

La pregunta es cómo detectar el modo de procesamiento de la página actual en tiempo de ejecución. ¿Hay alguna herramienta Firebug para hacer eso?

¿Fue útil?

Solución

Antes de IE8:

alert('Page was rendered in ' +
  ((document.compatMode == 'CSS1Compat') ? 'Standards' : 'Quirks') + ' Mode.');

Para IE8:

var vMode = document.documentMode;
var rMode = 'IE5 Quirks Mode';
if(vMode == 8){
  rMode = 'IE8 Standards Mode';
} else if(vMode == 7){
  rMode = 'IE7 Strict Mode';
}
alert('Rendering in: ' + rMode);

Tenga en cuenta que para obtener los beneficios del nuevo modo de estándares de IE8 por defecto " el comportamiento que deberá representar en el modo de estándares de IE8.

Este modo afecta la representación de HTML + CSS así como las correcciones a los métodos de JavaScript como document.getElementById (id); y .setAttribute ( nombre, valor);

Otros consejos

También deberías echar un vistazo a jQuerys jQuery.support. Le indicará qué estándares son compatibles con el navegador (boxModel, opacidad, etc.)

http://docs.jquery.com/Utilities/jQuery.support

es decir,

jQuery.support.boxModel; //false in IE when in quirksmode, true otherwise.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top