我想在js文件中使用属于另一个js文件的变量。 即我想使用file2.js变量运行file1.js.
有谁知道怎么做?
是否可以从另一个.js文件中访问变量?
file1.js:
oScript = document.createElement('script');
oScript.src = 'file2.js';
oScript.type = 'text/javascript';
document.body.appendChild(oScript);
console.log(message);
file2.js:
var message = [{"id":"01", "name":"Text A", "text":"more text"},{"id":"02", "name":"Text B", "text":"more text"}];
答案 0 :(得分:1)
您需要确保在加载file2之后才运行console.log(message)
。我建议使用AJAX而不是尝试将文件注入HTML。
var xhr = new XMLHttpRequest();
xhr.open('GET', 'file2.js');
xhr.onload = function() {
eval(xhr.responseText);
console.log(message);
window.message = message; //Include this if you need message to be a global variable
};
xhr.send();
但是,我强烈建议使用JSON文件来存储消息变量的值并使用ajax加载它,而不是使用JavaScript代码。
答案 1 :(得分:0)
如果您使用script
事件,则只需使用load
代码即可执行此操作:
oScript = document.createElement('script');
oScript.src = 'file2.js';
oScript.type = 'text/javascript';
oScript.onload = function() {
console.log(message);
};
document.body.appendChild(oScript);
或者:
oScript = document.createElement('script');
oScript.src = 'file2.js';
oScript.type = 'text/javascript';
oScript.addEventListener('load', function() {
console.log(message);
});
document.body.appendChild(oScript);