前端屌丝

导航

异步加载script实现jsonp效果

function scriptLoad(src,callback){
    var script=document.createElement('script');
    scriptOnload(script,callback);
    script.src=src;
    document.getElementsByTagName('head')[0].appendChild(script);
    function scriptOnload(node,callback) {
        node.onload = node.onerror = node.onreadystatechange = function() {
            if (/loaded|complete|undefined/.test(node.readyState)) {
                //限制只执行一次,避免IE浏览器因readystate的变化而执行多次
                node.onload = node.onerror = node.onreadystatechange = null;
                //执行完成后删除该临时script
                node.parentNode.removeChild(node);
                //控制内存泄露,删除变量
                node = undefined;
                //执行回调函数
                callback()
            }
        }
    }
}

  

posted on 2013-09-30 14:29  前端屌丝  阅读(798)  评论(0编辑  收藏  举报