如何加载通过JavaScript对象调用的JavaScript文件的函数
我有一个需要使用脚本对象调用的本地JS文件。但是,我无法运行这些函数。下面是代码片段如何加载通过JavaScript对象调用的JavaScript文件的函数,javascript,Javascript,我有一个需要使用脚本对象调用的本地JS文件。但是,我无法运行这些函数。下面是代码片段 <script type="text/javascript"> var x = document.createElement("SCRIPT"); x.type = "text/javascript"; x.src = "file:///C:/scripts/localscript.js"; //one of the functions is loadData(); loadData();
<script type="text/javascript">
var x = document.createElement("SCRIPT");
x.type = "text/javascript";
x.src = "file:///C:/scripts/localscript.js";
//one of the functions is loadData();
loadData(); //I'm getting reference error, loadData is not defined.
</script>
var x=document.createElement(“脚本”);
x、 type=“text/javascript”;
x、 src=”file:///C:/scripts/localscript.js";
//其中一个函数是loadData();
loadData()//我收到引用错误,未定义loadData。
谢谢,使用
onload
事件:
x.onload = function() { window.loadData(); }
您需要创建一个
script
元素并将其插入DOM(主要在head下)
以加载脚本。当浏览器加载该脚本时,从该脚本返回的任何内容都将可用
考虑使用下面的代码sampleScript.js
(function(window){
'use strict';
window.app = {
sayHi: function() {
console.log('Hey there !');
}
};
})(this);
要加载此脚本,我需要
<script>
var node = document.createElement('script');
node.src = 'sampleScript.js';
node.addEventListener('load', onScriptLoad, false);
node.async = true;
document.head.appendChild(node);
function onScriptLoad(evt) {
console.log('Script loaded.');
console.log('app.sayHi ---> ');
app && app.sayHi();
}
</script>
var节点=document.createElement('script');
node.src='sampleScript.js';
node.addEventListener('load',onScriptLoad,false);
node.async=true;
document.head.appendChild(节点);
函数onScriptLoad(evt){
log('Script-loaded');
console.log('app.sayHi-->');
app&&app.sayHi();
}
根据提示,您可以满足您的需要。希望这有帮助