我有一个加载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
事件..但是我的代码中从未触发该事件?!
如何添加脚本完全加载时触发的事件?
答案 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';