/* stat.min.js */
(function(){window.SiteStat={StatUrl:"http://hao.uc.cn/stat.php",HttpUtil:{encode:function(a){return encodeURIComponent(a).replace(/\+/g,"%20")},pingByImage:function(d,g,c){var f=new Image,e=typeof g,h;if(e==="string"){h=IComponent(v)}else{if(e==="object"){var b=[];for(var a in g){b.push(a+"="+this.encode(g[a]))}h=b.join("&")}}f.src=d+(d.indexOf("?")>-1?"&":"?")+h;f.onload=f.onerror=function(){if(c&&typeof(c)==="function"){c()}}},pingByXHR:function(a,b,d){var h=new XMLHttpRequest(),i=typeof b,c,e;if(i==="string"){c=this.encode(b)}else{if(i==="object"){var f=[];for(var g in b){f.push(g+"="+this.encode(b[g]))}c=f.join("&")}}e=a+(a.indexOf("?")>-1?"&":"?")+c;h.onreadystatechange=function(){if(h.readyState===2||h.readyState===4){if(d){d()}}};h.onerror=function(){if(d){d()}};h.open("get",e);h.send()},ping:function(b,c,a){this.pingByXHR(b,c,a)}},parseLiUrl:function(b){if(!b){return null}var a=b.indexOf("javascript:location.href=");if(a==-1){return null}var c=b.substring(a+"javascript:location.href=".length);if(!c||c.length==0){return null}return c.substring(1,c.length-1)},action:function(){document.body.addEventListener("click",function(d){if(d.target.tagName.toLowerCase()==="a"){d.preventDefault();SiteStat.HttpUtil.ping(SiteStat.StatUrl,{ourl:d.target.href,uc_param_str:"prdnfrpfbivelabtbmntnieisipvsscp"},function(){window.location.href=d.target.href})}var b=null;if(d.target.tagName.toLowerCase()==="button"){b=d.target.getAttribute("ourl")}if(d.target.tagName.toLowerCase()==="li"){var a=d.target.getAttribute("onclick");b=SiteStat.parseLiUrl(a)}if(b){d.preventDefault();var c=d.target.onclick;d.target.onclick=null;SiteStat.HttpUtil.ping(SiteStat.StatUrl,{ourl:b,uc_param_str:"prdnfrpfbivelabtbmntnieisipvsscp"},function(){if(c){c();d.target.onclick=c}if(d.target.form){d.target.form.submit()}})}},true)}}})();

解决方案 »

  1.   

    看这样给打成包了啊,一个底层原生的ajax,从某某地址获取信息的一个包?
      

  2.   

    (function() {
        window.SiteStat = {
            StatUrl: "http://hao.uc.cn/stat.php",
            HttpUtil: {
                encode: function(a) {
                    return encodeURIComponent(a).replace(/\+/g, "%20")
                },
                pingByImage: function(d, g, c) {
                    var f = new Image,
                    e = typeof g,
                    h;
                    if (e === "string") {
                        h = IComponent(v)
                    } else {
                        if (e === "object") {
                            var b = [];
                            for (var a in g) {
                                b.push(a + "=" + this.encode(g[a]))
                            }
                            h = b.join("&")
                        }
                    }
                    f.src = d + (d.indexOf("?") > -1 ? "&": "?") + h;
                    f.onload = f.onerror = function() {
                        if (c && typeof(c) === "function") {
                            c()
                        }
                    }
                },
                pingByXHR: function(a, b, d) {
                    var h = new XMLHttpRequest(),
                    i = typeof b,
                    c,
                    e;
                    if (i === "string") {
                        c = this.encode(b)
                    } else {
                        if (i === "object") {
                            var f = [];
                            for (var g in b) {
                                f.push(g + "=" + this.encode(b[g]))
                            }
                            c = f.join("&")
                        }
                    }
                    e = a + (a.indexOf("?") > -1 ? "&": "?") + c;
                    h.onreadystatechange = function() {
                        if (h.readyState === 2 || h.readyState === 4) {
                            if (d) {
                                d()
                            }
                        }
                    };
                    h.onerror = function() {
                        if (d) {
                            d()
                        }
                    };
                    h.open("get", e);
                    h.send()
                },
                ping: function(b, c, a) {
                    this.pingByXHR(b, c, a)
                }
            },
            parseLiUrl: function(b) {
                if (!b) {
                    return null
                }
                var a = b.indexOf("javascript:location.href=");
                if (a == -1) {
                    return null
                }
                var c = b.substring(a + "javascript:location.href=".length);
                if (!c || c.length == 0) {
                    return null
                }
                return c.substring(1, c.length - 1)
            },
            action: function() {
                document.body.addEventListener("click",
                function(d) {
                    if (d.target.tagName.toLowerCase() === "a") {
                        d.preventDefault();
                        SiteStat.HttpUtil.ping(SiteStat.StatUrl, {
                            ourl: d.target.href,
                            uc_param_str: "prdnfrpfbivelabtbmntnieisipvsscp"
                        },
                        function() {
                            window.location.href = d.target.href
                        })
                    }
                    var b = null;
                    if (d.target.tagName.toLowerCase() === "button") {
                        b = d.target.getAttribute("ourl")
                    }
                    if (d.target.tagName.toLowerCase() === "li") {
                        var a = d.target.getAttribute("onclick");
                        b = SiteStat.parseLiUrl(a)
                    }
                    if (b) {
                        d.preventDefault();
                        var c = d.target.onclick;
                        d.target.onclick = null;
                        SiteStat.HttpUtil.ping(SiteStat.StatUrl, {
                            ourl: b,
                            uc_param_str: "prdnfrpfbivelabtbmntnieisipvsscp"
                        },
                        function() {
                            if (c) {
                                c();
                                d.target.onclick = c
                            }
                            if (d.target.form) {
                                d.target.form.submit()
                            }
                        })
                    }
                },
                true)
            }
        }
    })();
      

  3.   

    是做什么用呢?window.SiteStat  这个是定义什么的?