動態加載js文件


由於最近在弄echarts,關於地圖類的效果,但是全國地圖整體的js文件太大了,加載很耗費資源,所以要根據不同省份加載不同地區的js地圖,

於是就想的比較簡單,

var script = document.createElement ("script")
 script.type = "text/javascript";
script.src = url;
 document.getElementsByTagName("head")[0].appendChild(script);

  直接加載上去了,可是出現一種詭異的效果,當第一次點擊一個省份的時候,不出現效果,第二次點擊才出現,以后就正常了,點擊一次就出現已經點擊過的

省份了,瞬間就尷尬了。。。仔細一想,可不是這么玩啊,js文件還沒加載完成,就畫地圖了,所以就 需要時間加載js文件了,想到了 script的onload事件了,但是

這個事件針對ie還有一定的兼容問題,就不是很好玩了,各種試驗,各種資料才最后實現了動態加載js,實現完美的效果了。。。

function loadFun(url, callback){
    var script = document.createElement ("script")
    script.type = "text/javascript";
    if (script.readyState){ 
        script.onreadystatechange = function(){
            if (script.readyState == "loaded" || script.readyState == "complete"){
                script.onreadystatechange = null;
                callback();
            }
        };
    } else { 
        script.onload = function(){
            callback();
        };
    }
    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
}

  有需要的同學,可以愉快的玩耍一下了...

 

還可以進入個人博客:www.jishubar.cn


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM