Using external javascript files in a .js file

匿名 (未验证) 提交于 2019-12-03 02:14:01

问题:

I would like to use an external javascript file in another javascript file. For example, I could store all my global variables in a globals.js file and then call then from the website logic logic.js. Then in the index.html, i would insert the tag. How do I use the globals.js inside the logic.js?

回答1:

Javascript doesn't have any implicit "include this other file" mechanisms, like css's @include. You just have to list your globals file before the logic file in the tags:

 <script type="text/javascript" src="globals.js" />  <script type="text/javascript" src="logic.js" /> 

If guaranteeing that the globals are available before anything in the logic file fires up, you can do a slow polling loop to see if some particular variable is available before calling an init() or whatever function.



回答2:

document.write('<script type="text/javascript" src="globals.js"></script>'); 

Edit: Actually, this probably won't work for your purposes, as global.js variables won't be accessible until logic.js completes. You may be able to wrap logic.js in a function that is called after global.js loads. Otherwise I don't think there is a way to do what you're asking.



回答3:

function loadExternalJS(TARGET_URL){ var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); xhr.open('GET', TARGET_URL, false); xhr.send(null); var code = xhr.responseText; var dScript = document.createElement('script'); try { dScript.appendChild( document.createTextNode(parsed) ); document.body.appendChild(dScript); } catch(e) { dScript.text = parsed; document.getElementsByTagName('head')[0].appendChild(dScript); } xhr = null; 


回答4:

Just make sure both files are referenced in your index.html.



回答5:

You can also do something like this:

$(document).ready(function(){     $('body').append($('<script src="/path/to/script/foo.min.js"></script>')); }); 

Just use that line before you need to reference something in the included js file.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!