堡主大名花花

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
    function checkFail(node, onError, fuckIE) {
        var id = node.src;//检测是否死链
        node.onload = node.onreadystatechange = node.onerror = null;
        if (onError || (fuckIE && !modules[id].state)) {
            setTimeout(function() {
                head.removeChild(node);
            });
            $.log("加载 " + id + " 失败" + onError + " " + (!modules[id].state), 7);
        } else {
            return true;
        }
    }


 

这一段实际上做的事情是把各种onload事件响应清理掉,然后如果是fail的话把节点删掉,名字有点文不对题,应该设置成某种Recycle之类。因为你加载完成了会执行,加载失败抛出的时候也会执行,这里不是检测是否失败的问题,这里是要做清理,如果可能的话onfail应该另外定义个函数专门删除node,在函数里执行本函数Recycle
功能,而不是把两个职责凑在一起。

 又是为了兼容IE所以不能那么写吗?

 好吧

这一块很不好理解。 

 

posted on 2015-10-06 18:31  堡主大名花花  阅读(238)  评论(0编辑  收藏  举报