2016-06-24 5 views
0

내 JS 파일과 라이브러리를 호출하는이 라인을하기 전에 스크립트 태그를 삽입 :다른 특정 스크립트 태그

<script src="assets/libs/perfect-scrollbar/perfect-scrollbar.jquery.js"></script> 
<script src="assets/libs/PACE/pace.min.js"></script> 
<script src="assets/js/library.js"></script> 
<script src="assets/js/plugins.js"></script> 
<script src="assets/js/app.js"></script> 

동적으로, 나는 새로운 라이브러리를 삽입해야합니다. 그래서 내가 만들 것입니다 :

document.body.appendChild(script); 

여기서 스크립트는 내 새 라이브러리입니다.

그러나 어떻게 내가 library.js 직전에 삽입 할 수 있습니까?

도움 주셔서 감사합니다.

+2

가능한 중복 http://stackoverflow.com/questions/19315948/insert-html-before-element-in-javascript-without-jquery) – Liam

+0

스크립트 태그에 ID를 추가 할 수 있습니다. http://stackoverflow.com/questions/11960180/what-is-the-point-of-using-an-id-attribute-in-a-script-tag 및 DOM 조작을 사용하여 다른 스크립트를 추가하십시오. – jtmingus

답변

0
<script src="assets/libs/perfect-scrollbar/perfect-scrollbar.jquery.js"></script> 
<script src="assets/libs/PACE/pace.min.js"></script> 

<script> 
document.body.appendChild(script); 
document.body.appendChild(<library.js file>); 
document.body.appendChild(<plugins.js file>); 
document.body.appendChild(<app.js file>); 
</script> 

동적으로 다음 스크립트를 추가하십시오!

이 작업을 원하지 않으면 스크립트에 $('html').html()을 사용하여 DOM 요소를 가져와 @Liam의 제안에 따라 here과 같은 기술을 사용해야합니다.

BUT! 새 라이브러리를로드 한 후에 위에서 언급 한 스크립트를로드하려면 스크립트가 동적으로 추가되어야하는 이유가 있어야합니다 (해당 스크립트가 해당 라이브러리에 종속되어 있음).

0

효과가 있습니다. 실험을했는데 결과는 양수입니다. 이 코드를 사용해보십시오

var mynewScript = document.createElement("script"); 
    mynewScript.type = "text/javascript"; 
    mynewScript.src = "http://mywebsite.com"; 

    var a = document.getElementsByTagName('script')[2]; // [2] is the index of library.js 

    var parentT = a.parentNode; 

    parentT.insertBefore(mynewScript , a); 
([jQuery를하지 않고 자바 스크립트 요소 앞에 HTML 삽입]의