Dokumen.COMPATMODE
BackCompat: Mode kompatibilitas standar dimatikan. Lebar browser: document.body.clientwidth;
CSS1COMPAT: Mode kompatibilitas standar diaktifkan. Lebar browser: document.documentelement.clientwidth.
Salinan kode adalah sebagai berikut:
var d = dokumen,
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;
Dalam mode standar:
Lebar sebenarnya dari elemen = margin-kiri + batas-kiri-lebar + padding-left + lebar +-padding-right + batas-kanan-lebar +-margin-kanan;
Dalam mode Quirks:
Lebar adalah lebar aktual dari elemen, dan lebar konten = lebar-(margin-kiri + margin-right + padding-left + padding-right + border-left-width + border-right-width))
Bagaimana cara menentukan bagaimana browser saat ini parsing di JS?
Objek dokumen memiliki CompatMode properti, yang memiliki dua nilai:
Mode Backcompat Quirks
Css1compat yang sesuai dengan mode ketat
Tabel Kompatibilitas Browser
http://www.quirksmode.org/compatibility.html
Alasan Historis:
Ketika browser awal Netscape 4 dan Explorer 4 parsed CSS, mereka tidak mematuhi standar W3C. Mulai parse CSS menurut standar W3C, dan model Parsing CSS menurut standar W3C disebut mode ketat (mode ketat)
Firefly