CheckFail设计很垃圾

时间:2023-03-10 06:54:12
CheckFail设计很垃圾
    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所以不能那么写吗?

好吧

这一块很不好理解。