我想在另一个javascript文件中使用外部javascript文件。例如,我可以将所有全局变量存储在globals.js文件中,然后从网站逻辑logic.js调用。然后在index.html中,我会插入标记。我如何在logic.js中使用globals.js?
答案 0 :(得分:13)
Javascript没有任何隐含的“包含此其他文件”机制,如css的@include。您只需在标记中的逻辑文件之前列出您的全局文件:
<script type="text/javascript" src="globals.js" />
<script type="text/javascript" src="logic.js" />
如果在逻辑文件中的任何内容启动之前保证全局变量可用,则可以在调用init()或任何函数之前执行慢速轮询循环以查看某个特定变量是否可用。
答案 1 :(得分:6)
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;
答案 2 :(得分:5)
document.write('<script type="text/javascript" src="globals.js"></script>');
编辑:实际上,这可能不适用于您的目的,因为在logic.js完成之前无法访问global.js变量。您可以将logic.js包装在global.js加载后调用的函数中。否则我认为没有办法做你要问的事。
答案 3 :(得分:2)
只需确保index.html中引用了这两个文件。
答案 4 :(得分:1)
您也可以这样做:
$(document).ready(function(){
$('body').append($('<script src="/path/to/script/foo.min.js"></script>'));
});
在需要引用包含的js文件中的内容之前,只需使用该行。