1

当我做前端开发时,我们会经常遇到这样的情况:我可能需要引入一些包做一些特殊的事情,可是这个包在部分的情况是用不到的。所以我们就希望在需要的时候再加载这个包。
下面提供一个比较好的方法,用来动态加载这个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
719 声望177 粉丝

前端程序员