분할의 주요 이유 태그는 HTML의 기반이 되는 마크업 언어인 SGML의 흥미로운 동작 때문입니다. SGML에 따르면 스크립트 블록은 를 포함한 모든 "종료 태그 열기"(ETAGO) 시퀀스에 의해 종료됩니다. 그러나 이 규칙은 document.write() 호출 내에서 문제를 야기합니다.
태그가 분할되지 않은 경우 포함하는 <script></script> 태그가 조기에 종료됩니다. 차단하다. 이를 방지하려면 개발자는 태그를 분할하고 < 및 /.
브라우저 호환성 및 XHTML 고려 사항:
태그는 브라우저 호환성 문제도 해결합니다. 브라우저는 일반적으로 HTML을 CDATA로 구문 분석하고 를 종료 태그 열기 구분 기호로 처리하지만 실제 의 스크립트 블록만 종료합니다. 태그.
스크립트 블록이 특별히 처리되지 않는 XHTML에서는 모두 이스케이프 처리되지 않은 < 문자는 &를 사용하여 이스케이프해야 합니다. 그러나 이는 브라우저가 XHTML을 HTML로 구문 분석할 때 혼란을 초래할 수 있습니다. 태그는 두 가지 유형의 파서와의 호환성을 보장합니다.
대체 접근 방식:
document.write() 내의 태그는 일반적인 관행이지만 유일한 옵션은 아닙니다. 보다 우아한 해결책은 전체