HTML에서 CDATA 란 무엇입니까? [복제]
이 질문에는 이미 답변이 있습니다.
- 스크립트 태그 내에서 CDATA 섹션은 언제 필요합니까? 답변 15 개
JavaScript 태그 및 HTML에서 CDATA를 사용하는 것은 무엇입니까?
<script type="text/javascript">
// <![CDATA[
// ]]>
</script>
XML 문서의 모든 텍스트는 파서에 의해 구문 분석됩니다.
그러나 CDATA 섹션 내의 텍스트는 파서에 의해 무시됩니다.
CDATA-(파싱되지 않은) 문자 데이터
CDATA라는 용어는 XML 파서에서 구문 분석하지 않아야하는 텍스트 데이터에 사용됩니다.
"<"및 "&"와 같은 문자는 XML 요소에서 유효하지 않습니다.
구문 분석기가 오류를 새 요소의 시작으로 해석하므로 "<"는 오류를 생성합니다.
구문 분석기가 오류를 문자 엔티티의 시작으로 해석하므로 "&"는 오류를 생성합니다.
JavaScript 코드와 같은 일부 텍스트에는 많은 "<"또는 "&"문자가 포함되어 있습니다. 오류를 피하기 위해 스크립트 코드를 CDATA로 정의 할 수 있습니다.
CDATA 섹션 내부의 모든 것은 파서에 의해 무시됩니다.
CDATA 섹션 "로 시작
<![CDATA[
"와 끝 "]]>
"
프로그램 출력에서 CDATA 사용
XHTML 문서에서 CDATA 섹션은 HTML로 문서를 렌더링하는 경우 HTML 파서가 CDATA 시작과 끝 마커를 인식하지 않기 때문에, 웹 브라우저에서 다르게 해석 할 책임이 있습니다 없으며 같은 HTML 엔티티 참조를 인식 할
<
내<script>
태그입니다. 이로 인해 웹 브라우저에서 렌더링 문제가 발생할 수 있으며 신뢰할 수없는 소스의 데이터를 표시하는 데 사용되는 경우 사이트 간 스크립팅 취약점이 발생할 수 있습니다. 두 종류의 파서는 CDATA 섹션이 끝나는 위치에 동의하지 않기 때문입니다.
또한 CDATA 의 Wikipedia 항목을 참조하십시오 .
CDATA
HTML에서는 전혀 의미가 없습니다.
CDATA
는 일반적으로 #PCDATA-구문 분석 된 문자 데이터 인 태그의 내용을 #CDATA, 즉 구문 분석되지 않은 문자 데이터로 사용하도록 설정하는 XML 구문입니다. XHTML에서만 관련되고 유효합니다.
에 사용되는 script
구문 분석을 방지하기 위해 태그 <
와 &
. HTML에서는 script
이미 #CDATA 이므로 HTML에서는 필요하지 않습니다 .
에서 http://en.wikipedia.org/wiki/CDATA :
웹 페이지 스크립트에서보다 작음 기호 (<) 및 앰퍼샌드 (&)를 사용하고 이스케이프를 피할 필요없이 스타일을 덜 사용하는 것이 유용하므로 CDATA 마커를 사용하는 것이 일반적입니다. XHTML 문서의 인라인 텍스트 및 요소 그러나 CDATA 마커를 인식하지 못하는 HTML 파서로도 문서를 구문 분석 할 수 있도록이 JavaScript 예제에서와 같이 CDATA 마커는 일반적으로 주석 처리됩니다.
<script type="text/javascript">
//<![CDATA[
document.write("<");
//]]>
</script>
이식성을 높이기 위해 HTML과 XHTML의 공통 부분 집합을 작성하는 방법 .
HTML에서 <script>
마술은 </script>
나타날 때까지 모든 것을 이스케이프 합니다.
그래서 당신은 쓸 수 있습니다 :
<script>x = '<br/>';
와 <br/>
태그로 간주되지 않습니다.
이것이 다음과 같은 문자열입니다.
x = '</scripts>'
다음과 같이 탈출해야합니다 :
x = '</scri' + 'pts>'
<script> 태그를 document.write ()로 쓸 때 왜 분할합니까?를 참조하십시오.
그러나 XML (및 HTML과 달리 XML의 "하위 집합"인 XHTML )에는 그러한 마법이 없습니다 <br/>
. 태그로 볼 수 있습니다.
<![CDATA[
말하는 XHTML 방법입니다.
다음까지 태그를 구문 분석하지 마십시오.
]]>
모든 문자열을 고려하십시오.
은 //
물론 HTML에서뿐만 아니라 CDATA 작업을 만들기 위해 추가됩니다.
HTML에서는 <![CDATA[
마술이 아니므로 JavaScript로 실행됩니다. 따라서 //
주석 처리하는 데 사용됩니다.
XHTML은 또한을 보지만 //
문제가 아닌 빈 주석 줄로 간주합니다.
//
그것은 말했다 :
- 문서가 초기 문서 타입에서 HTML 또는 XHTML 경우 호환 브라우저가 인식해야
<!DOCTYPE html>
대<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- compliant websites could rely on compliant browsers, and coordinate doctype with a single valid
script
syntax
But that violates the golden rule of the Internet:
don't trust third parties, or your product will break
CDATA is Obsolete.
Note that CDATA sections should not be used within HTML; they only work in XML.
So do not use it in HTML 5.
https://developer.mozilla.org/en-US/docs/Web/API/CDATASection#Specifications
CDATA is a sequence of characters from the document character set and may include character entities. User agents should interpret attribute values as follows: Replace character entities with characters,
Ignore line feeds,
Replace each carriage return or tab with a single space.
참고URL : https://stackoverflow.com/questions/7092236/what-is-cdata-in-html
'programing tip' 카테고리의 다른 글
jquery“$ .post”요청을 동 기적으로 만드는 방법 (0) | 2020.06.01 |
---|---|
다차원 배열은 메모리에서 어떻게 포맷됩니까? (0) | 2020.06.01 |
검색 주소창이 iOS / Android / Mobile Chrome을 숨기면 배경 이미지가 점프 함 (0) | 2020.06.01 |
빌드 풍미 사용-소스 폴더 구조 및 올바르게 build.gradle (0) | 2020.06.01 |
Google 태그 관리자와 Google 웹 로그 분석의 차이점은 무엇입니까? (0) | 2020.06.01 |