2017-10-31 5 views
-2

두 개의 태그를 만듭니다. 하나는 div이고 다른 하나는 script입니다. Script 태그에는 src가 있고 div 태그의 하위 태그입니다. DOM의 head 또는 bodydiv 태그를 추가하면 스크립트 태그의 src가 다운로드되지 않습니다. 내 코드는div 태그의 상위 태그가있는 Javascript-Script 태그를 실행할 수 없습니다.

var scriptTag= document.createElement("script"); 
scriptTag.type = "text/javascript"; 
scriptTag.src = "https://example.com/example.js"; 
var divTag=document.createElement("div"); 
div.innerHTML=scriptTag.outerHTML; 
document.body.appenChild(divTag); 

주입니다 : "https://example.com/example.js는"실제 URL은 JS 파일을 포함하는 실제 URL.My 없습니다.

+0

왜 div 요소에 스크립트 태그를 추가하고 있습니까? 본문에 스크립트를 추가하십시오. – epascarello

+0

^^ 왜 모든 요소를 ​​작성한 후에 'outerHTML'을 사용하고 있습니까? –

+0

... ** 그리고 **는'div'는'head'의 유효한 하위 요소가 아닙니다. –

답변

1

몇 가지 문제가 있습니다

  1. div

    당신은 script 요소 객체를 생성 한 head
  2. 의 유효한 자식 요소가 아니라 다음의 (a 원형 -을 outerHTML을 사용하려는 텍스트 마크 업을 통해 여행)을 div
  3. appendChild에 추가 할 단 하나의
  4. 넣어 t에 아무 소용 없다하지 두 d들,이 div

올바른 방법으로 자신이 스크립트는 다음과 같습니다

var scriptTag= document.createElement("script"); 
scriptTag.type = "text/javascript"; 
scriptTag.src = "https://example.com/example.js"; 
document.head.appendChild(scriptTag); // Or append it to document.body, doesn't matter 

당신이 정말로, 정말로 div의 원하는 경우 해당 div에서 body (직접 또는 중첩 된) 추가해야한다

var scriptTag= document.createElement("script"); 
scriptTag.type = "text/javascript"; 
scriptTag.src = "https://example.com/example.js"; 
var div = document.createElement("div"); 
div.appendChildD(scriptTag); 
document.body.appendChild(div); 

... 작동하지만 무의미합니다.

+0

eventhough 당신이 말한대로 내 코드를 편집했지만, 작동하지 않습니다. –