>웹 프론트엔드 >JS 튜토리얼 >js/css 파일을 동적으로 로드하고 제거하는 방법

js/css 파일을 동적으로 로드하고 제거하는 방법

小云云
小云云원래의
2018-03-21 17:19:451629검색

이 글에서는 js/css 파일의 동적 로딩, 제거, 교체에 대해 간략하게 소개합니다. 때로는 프런트엔드를 작성할 때 CSS js와 같은 일부 항목을 동적으로 로드해야 할 때가 있습니다. 이는 사용자의 로딩 부담을 줄이고 응답 효율성을 향상시킬 수 있습니다. 코드는 아래에 게시되어 있습니다.

 <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>

사용 예:

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")

위 내용은 js/css 파일을 동적으로 로드하고 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.