Home  >  Article  >  Web Front-end  >  Methods to dynamically load and remove js/css files

Methods to dynamically load and remove js/css files

小云云
小云云Original
2018-03-21 17:19:451548browse

This article briefly introduces dynamic loading, removal, and replacement of js/css files. Sometimes when we are writing the front-end, there will be a need to dynamically load some things such as css js. This can reduce the user's loading burden and improve response efficiency. The code is posted below.

 <script language="JavaScript">
//动态加载一个js/css文件
function loadjscssfile(filename, filetype){
if (filetype=="js"){
varfileref=document.createElement(&#39;script&#39;)
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src",filename)
}
else if (filetype=="css"){
varfileref=document.createElement("link")
fileref.setAttribute("rel","stylesheet")
fileref.setAttribute("type","text/css")
fileref.setAttribute("href",filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
 
</script>

Usage example:

loadjscssfile("myscript.js","js")
loadjscssfile("javascript.PHP","js")
loadjscssfile("mystyle.css","css")
 
 
 
<scriptlanguage="javascript">
//移动已经加载过的js/css
function removejscssfile(filename,filetype){
vartargetelement=(filetype=="js")? "script" :(filetype=="css")? "link" : "none"
var targetattr=(filetype=="js")?"src" : (filetype=="css")? "href" :"none"
varallsuspects=document.getElementsByTagName(targetelement)
for (var i=allsuspects.length; i>=0;i--){
if (allsuspects[i] &&allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1)
  allsuspects[i].parentNode.removeChild(allsuspects[i])
}
}
</script>
 
使用示例:
removejscssfile("somescript.js","js")
removejscssfile("somestyle.css","css")

The above is the detailed content of Methods to dynamically load and remove js/css files. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn