加载javascript文件运行时

时间:2014-11-23 13:35:03

标签: javascript

我有一个加载javascript文件运行时或异步

的脚本
var s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'file.js';
s.onreadystatechange = function(){
    console.log(this.readyState)
};
s.onload = function(){
    console.log('onload')
};
body.appendChild(s);

问题是当触发s.onload并且在控制台中打印onload时,脚本未完全加载,并且从文件undefined调用函数时返回

如果在脚本加载后设置了setTimeout它可以正常工作,但这不是好的做法

已对该主题进行了一些研究并找到了onreadystatechange事件..但是我的代码中从未触发该事件?!

如何添加脚本完全加载时触发的事件?

1 个答案:

答案 0 :(得分:2)

订单很重要。首先附加元素并最后添加src:

var s = document.createElement('script');
s.type = 'text/javascript';

body.appendChild(s);

s.onreadystatechange = function(){
    console.log(this.readyState)
};
s.onload = function(){
    console.log('onload')
};

s.src = 'file.js';