</script>
자바 스크립트 문자열 litteral 내부가 예기치 않은 동작을 일으키는 닫는 태그로 HTML 파서에 의해 해석됩니다 ( JSFiddle에 예 참조 ).
이것을 피하기 위해 주석 사이에 자바 스크립트를 배치 할 수 있습니다 (이 스타일의 코딩은 브라우저에서 Javascript가 제대로 지원되지 않았던 일반적인 관행이었습니다). 이것은 작동합니다 ( JSFiddle의 예제 참조 ).
<script type="text/javascript">
<!--
if (jQuery === undefined) {
document.write('<script type="text/javascript" src="http://z-ecx.images-amazon.com/images/G/01/javascripts/lib/jquery/jquery-1.2.6.pack._V265113567_.js"></script>');
}
// -->
</script>
...하지만 솔직히 말해서 사용하는 document.write
것이 모범 사례라고 생각 하는 것이 아닙니다. 왜 DOM을 직접 조작하지 않습니까?
<script type="text/javascript">
<!--
if (jQuery === undefined) {
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', 'http://z-ecx.images-amazon.com/images/G/01/javascripts/lib/jquery/jquery-1.2.6.pack._V265113567_.js');
document.body.appendChild(script);
}
// -->
</script>
\/
의 유효한 이스케이프 시퀀스입니다/
. 왜 문자열 리터럴 이스케이프 대신 이것을 사용하지<
않습니까? 예document.write('<script src=foo.js><\/script>');
. 또한 요소를</script>
닫을 수있는 유일한 문자 순서는 아닙니다<script>
. 여기에 몇 가지 추가 정보를 원하시면 : mathiasbynens.be/notes/etago