JS 实现需要时加载js和css文件

当我做前端开发时,我们会经常遇到这样的情况:我可能需要引入一些包做一些特殊的事情,可是这个包在部分的情况是用不到的。所以我们就希望在需要的时候再加载这个包。
下面提供一个比较好的方法,用来动态加载这个js 和css文件

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>标签里加包的导入

    原文作者:philips
    原文地址: https://segmentfault.com/a/1190000004665620
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞