• 动态加载 移除js file


    动态加载、移除、替换js/css文件
    
    stylesheetjavascriptcssfunctionnull
    
     <script language="javascript">
    //动态加载一个js/css文件
    function loadjscssfile(filename, filetype){
    if (filetype=="js"){
    var fileref=document.createElement('script')
    fileref.setAttribute("type","text/javascript")
    fileref.setAttribute("src", filename)
    }
    else if (filetype=="css"){
    var fileref=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")
    
    
    
    <script language="javascript">
    //移动已经加载过的js/css
    function removejscssfile(filename, filetype){
    var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none"
    var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none"
    var allsuspects=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文件,代码如下:
    <script language="javascript">
    function createjscssfile(filename, filetype){
    if (filetype=="js"){
    var fileref=document.createElement('script')
    fileref.setAttribute("type","text/javascript")
    fileref.setAttribute("src", filename)
    }
    else if (filetype=="css"){
    var fileref=document.createElement("link")
    fileref.setAttribute("rel", "stylesheet")
    fileref.setAttribute("type", "text/css")
    fileref.setAttribute("href", filename)
    }
    return fileref
    }
    
    function replacejscssfile(oldfilename, newfilename, filetype){
    var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none"
    var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none"
    var allsuspects=document.getElementsByTagName(targetelement)
    for (var i=allsuspects.length; i>=0; i--){
    if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(oldfilename)!=-1){
       var newelement=createjscssfile(newfilename, filetype)
       allsuspects[i].parentNode.replaceChild(newelement, allsuspects[i])
    }
    }
    }
    </script>
  • 相关阅读:
    SQL学习笔记六之MySQL数据备份和pymysql模块
    SQL学习笔记五之MySQL索引原理与慢查询优化
    SQL学习笔记四之MySQL数据操作
    SQL学习笔记四(补充-2)之MySQL多表查询
    SQL学习笔记四(补充-2-1)之MySQL SQL查询作业答案
    SQL学习笔记四(补充-1)之MySQL单表查询
    SQL学习笔记四(补充-1-1)之MySQL单表查询补充部分:SQL逻辑查询语句执行顺序
    Python Web学习笔记之为什么设计GIL
    SQL学习笔记三之MySQL表操作
    buffer小解
  • 原文地址:https://www.cnblogs.com/sheapchen/p/4187304.html
Copyright © 2020-2023  润新知