¿Cómo detectar el modo Render del navegador para la página actual?
-
05-07-2019 - |
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?
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.