2015. 2. 6. 15:32
가끔 JAVASCRIPT 소스를 보다보면 아래처럼 스크립트 태그 내부에 <!-- -->로 영역을
잡아놓은 소스를 볼수있습니다.
<script>
<!--
스크립트 내용
-->
</script>
이와 같이 짜여진 이유는 자바스크립트가 만들어진 초창기에 웹브라우저가
자바스크립트로 인식하지 못하고 html로 인식하여 인터프리팅 하는 것을 방지하기 위해서였습니다.
html 주석으로 감싸 스크립트 부분을 주석으로 인식하게 하는 것이죠.
하지만 현재에는 거의 사용하지 않는 방식이며 대신
<script>
//<![CDATA[
스크립트 내용
//]]>
</script>
위와 같은 방식으로 변하였습니다.
웹 브라우저가 자바스크립트를 충분히 인식할 만큼 발전 하였지만 아직도 구분을 해주는 이유는 무엇일까요?
그것은 자바 스크립트를 인식을 하기는 하지만
브라우저가 해당 페이지를 XHTML이 아닌 HTML로 인식하게되면 작동하지 않기 때문입니다.
(구 버전의 브라우저에서는 Content-type을 정해주지 않으면 정말 HTML로 인식하는 브라우저(IE)가 있었습니다.)
또 다른 문제점은 XML Parser에 있는데 XML Parser는 < 를 새로운 엘리먼트로 인식하며
&는 문자 엔티티로 인식하기 때문에 파싱중 에러로 인식합니다.
그래서 자바스크립트 부분만 CDATA( Unparsed Character Data)로 감싸서 XML Parser로 부터 자유로워질 수 있게 됩니다.
'Javascript' 카테고리의 다른 글
common.js (0) | 2010.11.14 |
---|---|
event.keyCode 번호표 (0) | 2010.11.14 |
유용한 스크립트 (0) | 2010.11.14 |
정규식 (0) | 2010.11.14 |
Ajax Request 이해 (0) | 2010.11.14 |