2011-12-04 3 views
-2

가능한 중복 :
How can JavaScript make new page that contains more JavaScript?자바 스크립트

내가이 작성 시도 : document.write('<script>document.write("test")</script>');을하고 그것을 수행하는 이유는, 내가 그 안에 <script> </script>을 쓴 그것 때문에 믿고 '); });//]]> 표시 무슨 일이 생길까? (의도적으로 둘러싸여있어. <script>?

감사합니다.

+4

일반적으로'document.write'는 전혀 사용하지 말아야합니다. http://stackoverflow.com/questions/802854/why-is-document-write-considered-a-bad-practice – evan

답변

3

당신은 하나가 (스크립트가 속한 곳) 외부 파일에 넣어 또는 추악한 "탈출"일해야 할 :

document.write('<script>document.write("test")</scr' + 'ipt>'); 

또는

document.write('<script>document.write("test")<\/script>'); 

하지만 실제로을 넣어 외부 파일에 넣어주세요.

1

</script> ... 시퀀스는 스크립트 요소를 종료합니다. 문자열 중간에서 이렇게하면 JS 구문 오류가 발생합니다.

JS 문자열에서 \//과 동일하므로 슬래시 문자를 이스케이프 처리하여 마크 업 태그에 끝 태그가 없도록합니다.

document.write('<script>document.write("test")<\/script>'); 
+0

작동하지만 스크립트로 둘러싸여 있지 않습니다. – user172071

+1

** HTML ** **