2012-12-01 7 views
0

가능한 중복으로 교체 :
jQuery: Can’t append <script> element자바 스크립트

내가이 일을하여 자바 스크립트로 사업부를 대체하기 위해 노력하고 있어요 :

$("#frame").replaceWith("<script language='JavaScript' type='text/javascript'>AC_VHost_Embed(2672266,206,206,'',1,1, 2279587, 0,1,0,'912832a3e8b02d79380c8352f2d497f6',9);</script>") ; 

그러나 콘솔

, 오류 예기치 않은 토큰을 말합니다 : ILLEGAL

좋은 생각이야?

+0

:

스크립트를로드하려면이 jQuery를 기능에서보세요 [JQuery와 - 캔트-APPEND 스크립트 요소 (http://stackoverflow.com/questions/610995/jquery -cant-append-script-element) – zeMinimalist

답변

2

인라인 JavaScript 인 것으로 추측됩니다.이 경우 닫기 </script> 태그를 해체해야합니다. 나는 또한 더 읽기 만든 :

$("#frame").replaceWith(
    "<script language='JavaScript' type='text/javascript'>" 
    + "AC_VHost_Embed(2672266,206,206,'',1,1, 2279587, " 
    + "0,1,0,'912832a3e8b02d79380c8352f2d497f6',9);" 
    + "<" + "/script>" 
); 

브라우저가 문자열 안에 당신의 </script> 스크립트 블록의 끝이라고 생각하지 않도록 그 이유입니다. 예 :

<script> 
    // Doesn't work! 
    alert('</script>'); 
</script> 

브라우저가 본다 : 즉

<script> 
    // Doesn't work! 
    alert(' 
</script> 
'); 
</script> 

, 당신의 브라우저는 스크립트가 </script>보고 처음 끝 생각한다. 가짜 </script>을 여러 조각으로 나눠서 해결할 수 있습니다.

<script> 
    // Works fine! 
    alert('<' + '/script>'); 
</script>