在appendChild上没有加载Jquery脚本
我正在使用此代码动态加载我的脚本文件,
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);
它会抛出错误,
Reference error: $ is not defined
在report_app.js
。
我想,当解析下一个文件report_app.js
时,必须将jquery.js
脚本加载到DOM中。
但错误显示, jquery.js
未执行。 如何确保在运行下一个脚本文件之前加载一个脚本文件?
这是因为脚本是异步添加的,您可以使用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'); })
演示: 小提琴