2016-06-24 122 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

但是!如果要在加載新庫之後加載上述腳本,則必須有一個原因(這些腳本依賴於該庫),在這種情況下,您應該動態添加這些腳本。

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的JavaScript中的元素之前插入HTML]的