Document.CompatMode
BackCompat: โหมดความเข้ากันได้มาตรฐานถูกปิด ความกว้างของเบราว์เซอร์: document.body.clientwidth;
CSS1COMPAT: เปิดใช้งานโหมดความเข้ากันได้มาตรฐาน ความกว้างของเบราว์เซอร์: Document.DocumentElement.ClientWidth
การคัดลอกรหัสมีดังนี้:
var d = เอกสาร
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;
ในโหมดมาตรฐาน:
ความกว้างที่แท้จริงขององค์ประกอบ = ระยะขอบซ้าย + ความกว้างจากชายแดนซ้าย + ด้านซ้าย-ซ้าย + ความกว้าง + แพ็น-ขวา-ขวา + ความกว้างด้านขวา-ขวา + มาร์จิ้น-ขวา
ในโหมด quirks:
ความกว้างคือความกว้างที่แท้จริงขององค์ประกอบและความกว้างของเนื้อหา = ความกว้าง-(ระยะขอบซ้าย + ส่วนขอบขวา + แพ็น-ซ้าย + แพ็น-ขวา-ขวา + ความกว้างจากชายแดนซ้าย + ความกว้างของชายแดน-ขวา))
วิธีการพิจารณาว่าเบราว์เซอร์ปัจจุบันเป็นอย่างไรการแยกวิเคราะห์ใน JS?
วัตถุเอกสารมีคุณสมบัติคุณสมบัติซึ่งมีสองค่า:
โหมดนิสัยใจคอ Backcompat
CSS1COMPAT สอดคล้องกับโหมดที่เข้มงวด
ตารางความเข้ากันได้ของเบราว์เซอร์
http://www.quirksmode.org/compatibility.html
เหตุผลทางประวัติศาสตร์:
เมื่อเบราว์เซอร์แรก ๆ Netscape 4 และ Explorer 4 แยกวิเคราะห์ CSS พวกเขาไม่ปฏิบัติตามมาตรฐาน W3C เริ่มแยกวิเคราะห์ CSS ตามมาตรฐาน W3C และรูปแบบของการแยกวิเคราะห์ CSS ตามมาตรฐาน W3C เรียกว่าโหมดเข้มงวด (โหมดเข้มงวด)
หิ่งห้อย