document.compatmode
BackCompat: le mode de compatibilité standard est désactivé. Largeur du navigateur: document.body.clientwidth;
CSS1Compat: le mode de compatibilité standard est activé. Largeur du navigateur: document.DocumentElement.ClientWidth.
La copie de code est la suivante:
var d = document,
dd = D.DocumentElement,
db = d.body,
dc = d ..compatmode == 'css1compat',
dx = dc?
cwidth = dx.clientwidth;
cheight = dx.clientHeight;
swidth = dx.scrollwidth;
sheight = dx.scrollHeight;
Sleft = dx.scrollleft;
stop = dx.scrolltop;
En mode normes:
La largeur vraie de l'élément = marge-gauche + bordure-gauche-largeur + padding-left + largeur + padding-droite + bordure-largeur + marge-droite;
En mode Quirks:
La largeur est la largeur réelle de l'élément, et la largeur du contenu = largeur - (marge-gauche + marge-droite + padding-left + padding-droite + bordure-gauche + bordure droite-droite)
Comment déterminer comment le navigateur actuel analyse en JS?
L'objet document a un compatmode de propriété, qui a deux valeurs:
Mode bizarre de backcompat
CSS1Compat correspondant à un mode strict
Table de compatibilité du navigateur
http://www.quirksmode.org/compatibilité.html
Raisons historiques:
Lorsque les premiers navigateurs NetScape 4 et Explorer 4 analysent CSS, ils ne se sont pas conformes à la norme W3C. a commencé à analyser les CSS selon la norme W3C, et le modèle d'analyse CSS selon la norme W3C est appelé mode strict.
luciole