메뉴 건너뛰기

Dev tips

JavaScript dtd 체크하는 스크립트

taknim 2008.12.06 02:17 조회 수 : 10681 추천:2426

http://phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_html&wr_id=139870html 4.01과 xhtml 1.0 으로 코딩된 사이트가 있습니다...
레이어로 팝업을 띄우려고 하는데,
공통된 스크립트를 만드려니 차이가 발생을 해서 좌표가 틀려지네요...

혹시 dtd를 체크하는 스크립트가 없나요?
dom으로 체크가 가능하다고는 하던데요..
암튼 부탁드리겠습니다.

끝까지 읽어주셔서 감사합니다~ ^^;

---------------------------------------------------------------

document.doctype.publicId
doctype 태그가 없으면 document.doctype == null 이고,
태그에 public 속성이 없으면 document.doctype.publicId == "" 입니다.
             
---------------------------------------------------------------

움... 이거 잘 동작하나요?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

이걸로 선언한 곳에서
javascript:alert(document.doctype); //null
javascript:alert(document.doctype.publicId ); //에러
이 되는데...
(실행은 주소줄에서 실행, IE7, UTF-8페이지)

---------------------------------------------------------------

[결론]
var xhtml   = isIE() ? (document.documentElement.clientHeight ? 1 : 0) : ((document.doctype.publicId.indexOf('XHTML') == -1) ? 0 : 1);

---------------------------------------------------------------