JS动态加载

229 阅读1分钟
/* 
 *    loadJS:动态加载js文件---方法定义
 *   
 *  js_path:动态加载js文件的路径 
 *  callback:加载完成后执行的回调函数 
*/
function loadJS(js_path,callback){
    var iHead = document.getElementsByTagName('HEAD').item(0);   
    var iScript = document.createElement("script");
    iScript.type = "text/javascript";
    
    // 兼容多浏览器:IE:onreadystatechange,其他:onload。onload、onreadystatechange、onerror都执行一个方法,所以这样写
    iScript.onload = iScript.onreadystatechange = iScript.onerror = function (){
        if (iScript && iScript.readyState && /^(?!(?:loaded|complete)$)/.test(iScript.readyState))
        {
            return;
        }
        iScript.onload = iScript.onreadystatechange = iScript.onerror = null;
        iScript.src = '';
        iScript.parentNode.removeChild(iScript);
        iScript = null;
        
        // js文件加载后,执行回调函数
        callback();
    }
    iScript.src = js_path;
    try {
        iHead.appendChild(iScript);
    } catch (exp) {
    }
}

/* 
 *    方法实现 
*/
loadJS("C:/Users/Desktop/test.js", function(){
     alert("回调函数的实现")           
})

转载自: 简书 - 低至一折起

文章:www.jianshu.com/p/37a464795…