javascript异步延时加载及判断是否已加载js/css文件

<html>
<head>
<script type="text/javascript">
/**=========================================**
 | 异步延时加载js/css文件
 | @example loadasync("http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js");
 | @author liuensong@gmail.com
 | @param string url js/css链接地址
 | @return 新生成element对象/null
 **=========================================**/
function loadasync(url){
    var elt=null, head=null, type=null;
    if(url){
        head = document.getElementsByTagName("head")[0];
        switch(url.split(".").pop()){
            case "css":
                elt = document.createElement("link");
                elt.rel = "stylesheet";
                elt.href = url;
                break;
            case "js":
                elt = document.createElement("script");
                elt.type = "text/javascript";
                elt.src = url;
                break;
            default:
                //something...
        }
        if(elt!=null && (typeof elt)=="object"){
            head.appendChild(elt);
        }
    }
    return elt;
}
/**=========================================**
 | 判断js/css文件是否已加载
 | @example isload("jquery.min.js");
 | @author liuensong@gmail.com
 | @param string fname js/css文件名
 | @return bool true/false
 **=========================================**/
function isload(fname){
    var isload = false;
    var tags = {"js":"script", "css":"link"};
    var tagname = tags[fname.split(".").pop()];
    if(tagname != undefined){
        var elts = document.getElementsByTagName(tagname);
        for(i in elts){
            if((elts[i].href && elts[i].href.toString().indexOf(fname)!="-1") || 
                (elts[i].src && elts[i].src.toString().indexOf(fname)!="-1")){
                isload = true;
            }
        }
    }
    return isload;
}

//console.debug(loadasync("http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"));
//console.debug(isload("jquery.min.js"));
</script>
</head>
<body>
    <a href="javascript:;" οnclick="loadasync('http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js');">loadasync</a>
    <a href="javascript:;" οnclick="isload('jquery.min.js');">isload</a>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值