document.compatMode
BackCompat: 표준 호환성 모드가 꺼졌습니다. 브라우저 너비: document.body.clientWidth
CSS1Compat: 표준 호환 모드가 켜져 있습니다. 브라우저 너비: document.documentElement.clientWidth.
var d = document,
dd = d.documentElement,
db = d.body,
dc = d.compatMode == 'CSS1Compat',
dx = dc dd: db
cWidth; ;
cHeight = dx.clientHeight;
sWidth = dx.scrollWidth;
sHeight = dx.scrollHeight; 🎜>
sTop = dx.scrollTop;
표준 모드:
요소 실제 너비 = 여백-왼쪽 테두리-왼쪽-너비 패딩-왼쪽 너비 패딩 - right border-right-width margin-right;
Quirks 모드에서:
width는 요소의 실제 너비, 콘텐츠 너비 = 너비 - (margin-left margin-right padding- 왼쪽 패딩-오른쪽 테두리-왼쪽-너비 테두리-오른쪽-너비)
js에서 현재 브라우저가 어떻게 구문 분석하는지 확인하는 방법은 무엇입니까?
문서 개체에는 두 가지 값을 갖는 compatMode 속성이 있습니다.
BackCompat은 quirks 모드에 해당합니다.
CSS1Compat은 strict 모드에 해당합니다.
브라우저 호환성 표
http://www.quirksmode.org/compatibility.html
역사적 이유:
초기 브라우저 Netscape 4 및 Explorer 4는 CSS를 구문 분석할 때 W3C 표준을 준수하지 않았습니다. , 이때의 구문 분석 방법을 quirks 모드라고 합니다. 그러나 W3C 표준이 점점 더 중요해짐에 따라 많은 브라우저가 W3C 표준에 따라 CSS를 구문 분석하기 시작하고 CSS 구문 분석에 있어서 W3C 표준을 모방합니다. 모드)
반딧불이