我正在使用此代码
动态加载我的脚本文件<script type="text/javascript">
var newscript = document.createElement('script');
newscript.type = 'text/javascript';
newscript.src = '../static/js/jquery.js';
document.getElementsByClassName('container')[0].appendChild(newscript);
var newscript = document.createElement('script');
newscript.type = 'text/javascript';
newscript.src = '../static/js/report_app.js';
document.getElementsByClassName('container')[0].appendChild(newscript);
</script>
它抛出错误,
Reference error: $ is not defined
report_app.js
中的。
我想,在解析下一个文件jquery.js
时,必须将report_app.js
脚本加载到DOM中。
但错误显示,jquery.js
未执行。如何确保在运行下一个脚本文件之前加载一个脚本文件?
答案 0 :(得分:5)
这是因为脚本是异步添加的,您可以使用onload回调
function addScript(path, callback) {
var newscript = document.createElement('script');
newscript.type = 'text/javascript';
newscript.src = path;
newscript.onload = callback;
document.body.appendChild(newscript);
}
addScript('http://code.jquery.com/jquery-1.11.2.js', function () {
addScript('../static/js/report_app.js');
})
演示:Fiddle