2013-08-17 6 views
4

왜이 코드가 작동하고 소스에 나타나고 다른 코드는 나타나지 않는지 궁금합니다.JavaScript document.createElement가 보이지 않음

코드 게재 :

function test() { 
    var scriptElement2 = document.createElement("script"); 
    scriptElement2.id = 'test'; 
    var head = document.getElementsByTagName("head")[0] || document.documentElement; 
    head.appendChild(scriptElement2); 
} 

test(); 

코드가 표시되지 :

function test() { 
    var scriptElement2 = document.createElement("script"); 
    scriptElement2.id = 'test'; 
    scriptElement2.src = 'http://test.com/ja.js'; 
    scriptElement2.type = "application/javascript"; 
    var head = document.getElementsByTagName("head")[0] || document.documentElement; 
    head.appendChild(scriptElement2); 
} 

test(); 

나는 단지 두 줄을 추가 :

scriptElement2.src = 'http://test.com/ja.js'; 
scriptElement2.type = "application/javascript"; 

를 이제 코드가 더 이상은 작동하지 않습니다 HTML 소스 코드에 표시되지 않습니다. 그리고 네, 유효한 src로 시도했습니다.

+0

콘솔에서 오류가 발생합니까? 올바른'src' url을 사용하고 있습니까? –

답변

0

유형을 text/javascript으로 설정하거나 모두 그대로 두십시오.

+0

그게 효과가있어. 하지만 왜 그런지 궁금합니다. 나는 항상 요소 유형을 설정하는 것이 좋다고 생각했다. 이전 코드에서 나는 심지어해야했습니다! –

+0

둘 다 작동해야한다고 생각합니다. –

+0

'application/javascript'는 JS의 현재 공식 MIME 유형입니다.'text/javascript'는 더 이상 사용되지 않지만 후자는 사용해야합니다. http://stackoverflow.com/a/876805/358906 - I 정말로 이유를 알고 싶다. –