當我作前端開發時,咱們會常常遇到這樣的狀況:我可能須要引入一些包作一些特殊的事情,但是這個包在部分的狀況是用不到的。因此咱們就但願在須要的時候再加載這個包。
下面提供一個比較好的方法,用來動態加載這個js 和css文件javascript
function $import(path,type,title){ var s,i; if(!type) type=path.substr(path.lastIndexOf(".")+1); if(type=="js"){ var ss=document.getElementsByTagName("script"); for(i=0;i<ss.length;i++){ if(ss[i].src && ss[i].src.indexOf(path)!=-1 || ss[i].title==title)return ss[i]; } s=document.createElement("script"); s.type="text/javascript"; s.src=path; if(title) s.title=title; } else if(type=="css"){ var ls=document.getElementsByTagName("link"); for(i=0;i<ls.length;i++){ if(ls[i].href && ls[i].href.indexOf(path)!=-1 || ls[i].title==title)return ls[i]; } s=document.createElement("link"); s.rel="stylesheet"; s.type="text/css"; s.href=path; if(title) s.title=title; s.disabled=false; } else return; var head=document.getElementsByTagName("head")[0]; head.appendChild(s); return s; }
你只須要在調這個方法時,傳入文件路徑和文件類型(js, css)。這樣就會在<head>標籤里加包的導入css