2013-01-12 2 views
0

javascipt를 사용하여 HTML 문서의 본문 부분에 문자열을 삽입하려고합니다. 삽입하려는 문자열에는 일부 스크립트 태그도 들어 있습니다. 예를 들어 :javascript를 사용하여 본문 부분에 html 내용을 삽입하는 방법

var str = "<div> some text </div> 
      <script src='/Scripts/jquery-1.7.2.js' type='text/javascript'></script>"; 

는 내가 좋아하는, jQuery를 사용하여 위의 문자열을 삽입 할 때 지금 :

$('body').html(str); 

그것은 문자열을 삽입하고 또한 jQuery를로드합니다. 하지만 자바 스크립트를 사용하여이 문자열을 삽입하면 다음과 같이됩니다.

document.getElementsByTagName('body')[0].innerHTML = str; 

브라우저에서 jquery 스크립트가로드되지 않습니다. 아무도 내가 어떻게 자바 스크립트를 사용하여 동일한 얻을 수 말해 줄래?

+0

'[0]'이 필요합니까? – hjpotter92

+0

예상대로 작동해야합니다. 예를 들어, HTML로 요소를 삽입하는 기존 방법을 시도해보십시오. @TheDOCTORfromTARDIS 예 .. 그렇습니다. –

답변

0

http://www.jquery4u.com/javascript/dynamically-load-jquery-library-javascript/ 여기에 좋은 가이드가 있습니다. 그래서 경우에 당신이 시도 할 수 있습니다 :

var head= document.getElementsByTagName('body')[0]; 
    var script= document.createElement('script'); 
    script.type= 'text/javascript'; 
    script.src= '/Scripts/jquery-1.7.2.js'; 
    head.appendChild(script) 
+0

/scripts는 페이지가있는 서버의 dir이라고 가정하고, 그렇지 않은 경우 완전히 자격을 부여합니다. – mplungjan

0

문제는 당신이 innerHTML을 가진 스크립트를 삽입하는 경우, 스크립트가 실행되지 않을 것입니다. 보안 문제로 인해 브라우저에서이를 수행하지 않습니다. jquery는이 문제를 해결하기위한 방법을 구현했습니다. 순수 자바 스크립트에서 자세한 정보와 해결책을 찾을 수 있습니다 : Executing <script> elements inserted with .innerHTML

관련 문제