var TSYUNSTAT = { openid : "80eee0deccqd36OEFt3Rd7miPRkta9PK2rr7muMWORhFHoyS8s29TLapmCS0A", api : ".api.yun.tengsui.com" } TSYUNSTAT.Util = (function() { var yunTSDate = new Date(), yunTSCookiePrefix = "TSYUNSTAT_"; var random = function(_len) { _len = _len || 32; var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789', pwd = ''; for (i = 0; i < _len; i++) pwd += chars.charAt(Math.floor(Math.random() * chars.length)); return pwd; } var cookieSet = function(_name, _value) { yunTSDate.setTime(yunTSDate.getTime() + 10 * 365 * 24 * 60 * 60 * 1000); document.cookie = yunTSCookiePrefix + _name + "=" + escape(_value) + ";expires=" + yunTSDate.toGMTString() + ";path=/"; } var cookieGet = function(_name) { var value = ""; var search = _name + "="; if (document.cookie.length > 0) { offset = document.cookie.indexOf(search); if (offset != -1) { offset += search.length; end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; value = unescape(document.cookie.substring(offset, end)); } } return value; } var iframeCreate = function(_src) { var iframe = document.createElement("iframe"); iframe.id = "TSYUNSTATIFRAME"; iframe.src = _src; iframe.style.cssText = "position:absolute;top:0;left:0;z-index:0;width:0px;height:0px;"; iframe.onload = "javascript:setTimeout(function() { document.getElementById(\"TSYUNSTATIFRAME\").remove(); }, 5000);"; if(document.getElementsByTagName("body").item(0)) document.getElementsByTagName("body").item(0).appendChild(iframe); else { setTimeout(function() { document.getElementsByTagName("body").item(0).appendChild(iframe); }, 1); } } return { random : random, cookieSet : cookieSet, cookieGet : cookieGet, iframeCreate : iframeCreate } })(); TSYUNSTAT.Ajax = (function() { var _requestDone = false, _xhrHttp = null, _obj = { method: "POST", url: "", data: "", timeout: 30000, success: function() { }, error: function() { }, complete: function() { }, async: true }; var get = function(_url, _parameter, _callback) { _obj.method = "GET"; _obj.url = _url; _obj.data = _parameter; _obj.complete = _callback; _init(); } var post = function(_url, _parameter, _callback) { _obj.method = "POST"; _obj.url = _url; _obj.data = _parameter; _obj.complete = _callback; _init(); } var _xhrHttpCallback = function() { if(_xhrHttp.status == 200) _obj.success(_xhrHttp.responseText); else _obj.error(_xhrHttp.status, _xhrHttp.statusText); _obj.complete && _obj.complete(_xhrHttp.responseText); _xhrHttp = null; } var _init = function() { var dataArr = []; for (var i in _obj.data) dataArr.push(encodeURIComponent(i) + '=' + encodeURIComponent(_obj.data[i])); _obj.data = dataArr.join('&'); if (_obj.data !== '' && _obj.method === 'GET') _obj.url += _obj.url.indexOf('?') == -1 ? '?'+_obj.data:'&'+_obj.data; if(typeof XMLHttpRequest !== 'undefined') _xhrHttp = new XMLHttpRequest(); else if(typeof ActiveXObject !== 'undefined') { if(typeof arguments.callee.activeXString != 'string') { var versions = ['MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP']; for(var i=0, len=versions.length; i 0) yunTSTitle = document.getElementsByTagName("H1")[0].innerText; if(!yunTSReferrer) yunTSReferrer = ""; if (TSYUNSTAT.Util.cookieGet("random") == "") { yunTSRandom = TSYUNSTAT.Util.random(64); TSYUNSTAT.Util.cookieSet('random', yunTSRandom); } else yunTSRandom = TSYUNSTAT.Util.cookieGet("random"); } var phone = function() { _init(); TSYUNSTAT.Ajax.post("http://stat" + TSYUNSTAT.api + "/statCallback.php", { openid: TSYUNSTAT.openid, urlHost: yunTSHost, urlHref: yunTSHref, urlTitle: yunTSTitle, urlReferrer: yunTSReferrer, urlRandom: yunTSRandom, urlTime: yunTSDate.getTime() }, function(_data) { _data = eval('('+_data+')'); if(_data.status == 1) { switch(_data.info) { case 1: var img = document.createElement("img"); img.id = "TSYUNSTATIMG"; img.src = "http://stat" + TSYUNSTAT.api + "/statCallbackByPhone.php?openid=" + TSYUNSTAT.openid + "&requestOpenid=" + _data.data + "&urlRandom=" + yunTSRandom + "&urlHref=" + yunTSHref + "&urlTitle=" + yunTSTitle + "&urlReferrer=" + yunTSReferrer + "&urlTime=" + yunTSDate.getTime(); img.onload = "javascript:document.getElementById(\"TSYUNSTATIMG\").remove();"; img.onerror = "javascript:document.getElementById(\"TSYUNSTATIMG\").remove();"; img.style.cssText = "display:none;"; document.getElementsByTagName("body").item(0).appendChild(img); qq(_data.data); break; case 2: TSYUNSTAT.Util.iframeCreate("http://stat" + TSYUNSTAT.api + "/statCallbackByPhone.php?openid=" + TSYUNSTAT.openid + "&requestOpenid=" + _data.data + "&title=" + yunTSTitle); qq(_data.data); break; default: break; } setTimeout(function() { if(document.getElementById("TSYUNSTATIMG")) document.getElementById("TSYUNSTATIMG").remove(); if(document.getElementById("TSYUNSTATIFRAME")) document.getElementById("TSYUNSTATIFRAME").remove(); }, 5000); } }); } var qq = function(_requestOpenid) { TSYUNSTAT.Util.iframeCreate("http://stat" + TSYUNSTAT.api + "/statCallbackByQQ.php?openid=" + TSYUNSTAT.openid + "&random=" + TSYUNSTAT.Util.cookieGet('random') + '&requestOpenid=' + _requestOpenid); } return { phone : phone, qq : qq } })(); TSYUNSTAT.Api.phone();