Pergunta

Eu sei que os navegadores modernos geralmente têm dois modo de render: modo padrão e modo de capricho. O navegador detecta o DocType título.

A questão é como detectar o modo de página atual render em tempo de execução. Existe alguma ferramenta Firebug para fazer isso?

Foi útil?

Solução

Antes 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);

Esteja ciente de que para ganhar os benifits de novo IE8 "modo de padrões por padrão" de comportamento que você precisa para ser renderização no IE8 Modo de Padrões.

Este modo afeta a prestação de seus HTML + CSS , bem como as correções para JavaScript métodos como document.getElementById( id ); e .setAttribute( name, value );

Outras dicas

Você também deve ter um olhar para jQuerys jQuery.support. Vai dizer-lhe que as normas são suportadas pelo navegador (boxmodel, opacidade, etc.)

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

i.

jQuery.support.boxModel; //false in IE when in quirksmode, true otherwise.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top