以下是遇到的幾種動(dòng)態(tài)加載JavaScript文件的方式,持續(xù)更新中。。
一、使用document.write/writeln()方式
該種方式可以實(shí)現(xiàn)js文件的動(dòng)態(tài)加載,原理就是在重寫(xiě)文檔流,這種方式會(huì)導(dǎo)致整個(gè)頁(yè)面重繪。
實(shí)現(xiàn)方式:
代碼如下:document.writeln("<script src=\"http://lib.sinaapp.com/js/jquery/1.6/jquery.min.js\"></script>");
需要注意的是特殊字符的轉(zhuǎn)義。
二、使用jQuery
使用getScript(url,callback)方法實(shí)現(xiàn)動(dòng)態(tài)加載js文件
$.getScript('test.js',function(){ alert('done'); });
三、使用原生js方法
原理:動(dòng)態(tài)創(chuàng)建script標(biāo)簽,并指定script的src屬性
function loadJs(url,callback){ var script=document.createElement('script'); script.type="text/javascript"; if(typeof(callback)!="undefined"){ 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.body.appendChild(script); } loadJs("test.js",function(){ alert('done'); });
還可以使用同樣的原理動(dòng)態(tài)加載css文件,只不過(guò)插入的的父節(jié)點(diǎn)是head標(biāo)簽。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com