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.