현재 페이지의 브라우저 렌더 모드를 감지하는 방법은 무엇입니까?
-
05-07-2019 - |
문제
최신 브라우저에는 일반적으로 표준 모드와 퀴크 모드라는 두 가지 렌더 모드가 있습니다. 브라우저는 제목 Doctype를 감지합니다.
문제는 런타임에서 현재 페이지의 렌더 모드를 감지하는 방법입니다. 이를 수행 할 Firebug 도구가 있습니까?
해결책
IE8 이전 :
alert('Page was rendered in ' +
((document.compatMode == 'CSS1Compat') ? 'Standards' : 'Quirks') + ' Mode.');
IE8의 경우 :
var vMode = document.documentMode;
var rMode = 'IE5 Quirks Mode';
if(vMode == 8){
rMode = 'IE8 Standards Mode';
} else if(vMode == 7){
rMode = 'IE7 Strict Mode';
}
alert('Rendering in: ' + rMode);
IE8의 새로운 "표준 모드"의 Benifits를 기본적으로 얻으려면 IE8 표준 모드에서 렌더링해야합니다.
이 모드는 HTML+CSS의 렌더링에 영향을 미칩니다. JavaScript에 대한 수정 사항뿐만 아니라 와 같은 방법 document.getElementById( id );
그리고 .setAttribute( name, value );
다른 팁
또한 jQuerys jQuery.support를 살펴 봐야합니다. 브라우저 (BoxModel, 불투명도 등)에서 어떤 표준이 지원되는지 알려줍니다.
http://docs.jquery.com/utilities/jquery.support
즉
jQuery.support.boxModel; //false in IE when in quirksmode, true otherwise.
제휴하지 않습니다 StackOverflow