<![CDATA[...]]>
XHTML5에서 섹션을 사용할 수 있다고 확신 하지만 HTML5는 어떻습니까?
답변:
CDATA
구조는 XML에 대한의 모든 정말로 HTML에 대한 없습니다.
사람들 script
은 특정 특수 문자를 이스케이프 할 필요가 없기 때문에 때때로 태그 내부의 HTML에서 사용합니다 . 그러나 결코 요구 사항은 아닙니다 (HTML 4 또는 5의 경우).
편집 : 우리는 당신이로 XHTML을 보내는 여부를 통해 2002 년부터 웜의 정말 곰팡이가 핀 오래된 캔을 열 곳이다 text/html
또는 application/xhtml+xml
당신이있는 거에 "가정"과 같은 :-)
CDATA
내부에 사용할 수 있습니까 pre
?
동일한 페이지에서 @pst 링크 :
script
및style
태그에 대한 요소 별 파싱 , XHTML-HTML 호환성에 대한 지침 : "이스케이프 처리 된 다음 코드는 스크립트 및 스타일 요소가 이전 브라우저를 포함하여 XHTML 및 HTML 모두에서 작동하도록 보장 할 수 있습니다."
최대 이전 버전과의 호환성 :
<script type="text/javascript"><!--//--><![CDATA[//><!--
...
//--><!]]></script>
더 간단한 버전, "훨씬 오래된 브라우저"와 호환되지 않는 종류 :
<script>//<![CDATA[
...
//]]></script>
따라서 CDATA
HTML5에서 사용할 수 있으며 XHTML-HTML 호환성 에 대한 지침 에서 권장 됩니다 . 이는 개발 중에 XML로 생성 및 파싱되지만 브라우저 간 호환성 향상을 위해 HTML5로 제공되는 다중 언어 HTML / XML / XHTML 페이지에 유용합니다 . Polyglot 페이지에는 장점 이 있으며 XML / XHTML5를 디버그하는 것이 훨씬 더 쉽기 때문에 직접 사용했습니다. 예를 들어 Google 크롬은 잘못된 XML / XHTML5 (예 : 문자 이스케이프 포함)에 대해 오류를 발생 시키는 반면, HTML5로 제공된 동일한 페이지는 "작동 가능"(일명 "작동 가능")합니다.
사양은이 문제를 해결하는 것 같습니다. 스크립트 및 스타일 태그는 "원시 텍스트 요소"로 간주됩니다. CDATA는 필요하지 않거나 허용되지 않습니다. CDATA는 "외부 콘텐츠"(예 : MathML 및 SVG)에만 사용됩니다. 스크립트 태그에 들어갈 수있는 것에 대한 몇 가지 제한 var x = '</script>'
사항이 있습니다. http://www.w3.org/TR/html5/syntax.html#cdata-rcdata-restrictions
아마도 http://wiki.whatwg.org/wiki/HTML_vs._XHTML을 참조하십시오.
<! [CDATA [...]]>는 가짜 댓글입니다.
HTML에서는 <script>
이미 보호되어 있습니다 a = "<" + "/script>"
. 이것이 브라우저 혼동을 피하기 위해 때때로로 작성되어야하는 이유 입니다. 코드는 HTML의 CDATA 외부 에서 유효합니다 .