有时候我们需要在引用JS完成之后立即执行某些函数或者代码,我们可以通过onreadystatechange或者onload事件来完成
FireFox的script 元素不支持onreadystatechange事件,只支持onload事件
IE的 script 元素支持onreadystatechange事件,不支持onload事件。
如果要在一个
【script 元素onreadystatechange事件onload事件】this.readyState的值为'loaded'或者'complete'都可以表示这个script已经加载完成.
如何结合IE和FF的区别?参考一下jQuery的源码:
1 |
var script = document.createElement( 'script' );
|
2 |
script.src=https://www.it610.com/article/ "xx.js" ;
|
3 |
script.onload = script.onreadystatechange = function (){ |
4 |
if (! this .readyState //这是FF的判断语句,因为ff下没有readyState这人值,IE的readyState肯定有值 |
5 |
|| this .readyState== 'loaded' || this .readyState== 'complete' // 这是IE的判断语句 |
推荐阅读