Document.write() 스크립트 태그 분할: 이론적 근거
웹 개발에서 document.write를 사용하여 작성된 스크립트를 접하는 것은 드문 일이 아닙니다. ()는 <script> 또는 /script> 태그. 이렇게 하면 "왜 그런 기술을 사용하는가?"라는 의문이 생길 수 있습니다.</p> <p><strong>분할 이유:</strong></p> <p>대답은 HTML 파서가 < 내의 CDATA 섹션을 처리하는 방식에 있습니다. ;스크립트> 강요. SGML에서는 <script> 블록은 종료 태그 열기 시퀀스(예: </)를 만나면 종료되어야 하며, 브라우저는 실제 </script> 스크립트 블록 끝으로 닫기 태그를 붙입니다.
분할의 중요성:
다음 예를 고려하세요.
<script type='text/javascript'> document.write('<scr' + 'ipt type="text/javascript" src="script.js"></sc' + 'ript>'); </script>
이 경우 , <script> 태그가 분할되지 않은 경우 닫기 태그 시퀀스 </sc는 둘러싸는 <script> 태그의 끝으로 해석됩니다. 차단하여 스크립트를 조기에 종료합니다. 태그를 분할하면 브라우저가 전체 스크립트를 올바르게 구문 분석하고 실행할 수 있습니다.</p> <p><strong>XHTML 및 스크립트 작성:</strong></p> <p>XHTML에는 스크립트 블록에 대한 특별한 처리가 없습니다. < &는 스크립트 내에서 이스케이프되어야 합니다. 그러나 이스케이프되지 않은 문자를 사용하면 XHTML을 HTML로 구문 분석하는 브라우저에서 혼란을 초래할 수 있습니다.</p><p><strong>대체 스크립트 작성:</strong></p><p>XHTML과 HTML 구문 분석기를 모두 사용하려면 다음 접근 방식:</p><pre class="brush:php;toolbar:false"><script type="text/javascript"> document.write('\x3Cscript type="text/javascript" src="script.js"></script>');
16진수를 사용하여 문자를 이스케이프 처리합니다. 표기법을 사용하면 모든 파서가 스크립트를 올바르게 해석할 수 있습니다.
위 내용은 `document.write()`를 사용하여 ``태그를 분할하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!