document.compatmode
BackCompat: o modo de compatibilidade padrão está desligado. Largura do navegador: document.body.clientwidth;
CSS1Compat: o modo de compatibilidade padrão está ativado. Largura do navegador: document.documentElement.clientWidth.
A cópia do código é a seguinte:
var d = documento,
dd = d.documentElement,
db = d.body,
dc = d.compatmode == 'css1compat',
dx = dc?
cwidth = dx.clientWidth;
Cheight = dx.clientHeight;
swidth = dx.scrollwidth;
Sheight = dx.ScrolHeight;
Sleft = dx.ScrollLeft;
stop = dx.scrolltop;
No modo de padrões:
A verdadeira largura do elemento = margem-esquerda + borda-esquerda-lar-larga + preenchimento-left + largura + preenchimento + borda-largura-direita + margem-direita;
No modo peculiar:
Largura é a largura real do elemento e a largura do conteúdo = largura-(margem-esquerda + margem-direita + preenchimento-left + preenchimento-direita + borda-left-width + border-right-width)
Como determinar como o navegador atual está analisando em JS?
O objeto Document possui uma propriedade CompatMode, que possui dois valores:
BackCompat Quirks Modo
Css1compat correspondente ao modo rigoroso
Tabela de compatibilidade do navegador
http://www.quirksmode.org/compatibility.html
Razões históricas:
Quando os navegadores iniciais Netscape 4 e o Explorer 4 analisaram o CSS, eles não cumpriram o padrão W3C. Iniciado a analisar CSS de acordo com o padrão W3C, e o modelo de análise CSS de acordo com o padrão W3C é chamado de modo rigoroso (modo rigoroso)
Firefly