2016-06-24 139 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]的