在正常的加载过程中,js文件的加载是同步的,也就是说在js加载的过程中,浏览器会阻塞接下来的内容的解析。这时候,动态加载便显得尤为重要了,由于它是异步加载,因此,它可以在后台自动下载,并不会妨碍其它内容的正常解析,由此,便可以提高页面首次加载的速度。

那么,既然js是异步加载,我们又该如何判断它是否加载完成呢?

总结办法如下

function loadScript(jsfile,callback){
    var head= document.getElementsByTagName('head')[0];
    var script= document.createElement('script');
    script.type= 'text/javascript';
    script.src= jsfile;
    head.appendChild(script);
    script.onload = script.onreadystatechange = function() {
        if (!this.readyState || this.readyState === "loaded" ||    this.readyState === "complete" ) {
            script.onload = script.onreadystatechange = null;
            if(callback&&typeof(callback)== 'function'){
                  callback();//window[callback]();如果传递字符串过来  调用window['函数名']() 调用方法
 
            }
        }
    };
 
}

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:[email protected]