2013-08-05 2 views
1

</body> 태그 앞에 페이지 하단에 하나의 js 파일을 추가하고 싶습니다.동적으로 자바 스크립트를 사용하여 페이지 끝에 js 파일을 추가 하시겠습니까?

하나의 형식을 시도 중입니다. 하지만 제대로 작동하지 않습니다.

내 코드

var url = 'sample.js'; 
var script = document.createElement("script"); 
script.type = "text/javascript"; 
script.src = url; 
document.getElementsByTagName('body')[0].appendChild(script); 

하지만 그 작동하지 않습니다.

지금 내가

var x = document.getElementsByTagName('body'); 
alert(x.length); 

의 쇼 내가이 페이지의 내 하단에 파일 JS 추가 할 수있는 방법

0을 확인합니다. 조언 해주십시오

+0

코드가 정상적으로 작동합니다. 여기를 확인하십시오 : http://jsfiddle.net/CUpuq/, 콘솔도 확인할 수 있습니다. 스크립트가 있습니다. 그래서, 그 밖의 무엇이 작동하지 않을 수 있습니까? 이 코드 외에도 무엇을하려는 것입니까? – Sergio

+0

기다리십시오 나는 당신에게 연결을 보낼 수있다. –

+0

http://demo.osiztechnologies.com/demo/tooltip/demo2.html @Sergio 링크 및 콘솔을 참조하십시오. –

답변

0

머리 부분에이 코드를 쓰고 있으며 body 요소가 아직 만들어지지 않았습니다. 이것이 오류의 유일한 이유입니다. 본문 요소를 만든 후에이 코드를 보관하십시오.

+0

하지만이 스크립트는 헤드 섹션 만 실행해야합니다. 왜냐하면 나는 firefox addon을 만들고 있기 때문이다. 그래서 나는이 방법이 필요합니다. –

+0

당신의 요구 사항에 대해 확신하지 못합니다. 머리 부분에만이 코드를 쓰려면이 스크립트를 본문 대신 머리에 추가 (추가) 할 수 있습니다. – Rupesh

1

this 코드는 null을 얻을 첫번째 alert 경우

var body = document.body; 
alert("Body when page loading: " + body); 
document.addEventListener("DOMContentLoaded", function() { 
    var bodyLoaded = document.body; 
    alert("Body when page loaded: " + bodyLoaded); 
    var url = "http://code.jquery.com/jquery-1.10.2.min.js"; 
    var script = document.createElement('script'); 
    script.type = "text/javascript"; 
    script.src = url; 
    script.onload = function(){ 
     var testP = $("<p></p>"); 
     testP.html("JQuery worked"); 
     $(document.body).append(testP); 
    } 
    bodyLoaded.appendChild(script); 
}); 

를 참조하십시오. 하지만 두 번째 (시체를로드 할 때)는 HTMLBodyElement이됩니다. 본문이로드되기 전에 머리에 본문을 추가하려고하면 실수입니다.

관련 문제