function isWeiXin() { var ua = window.navigator.userAgent.toLowerCase(); console.log(ua);//mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml, like gecko)version/9.0 mobile/13b143 safari/601.1 if (ua.match(/MicroMessenger/i) == 'micromessenger') { return true; } else { return false; } } ; (function () { function ea() { this.url = []; this.init() } var h, k, j, l, p, r, q, n, m, o,ep, f = {}, id="",st = Math.ceil(new Date().getTime()/1000); ea.prototype = { init: function () { f ? l = f : l = {}; h = document; k = h.location; j = h.body; m = navigator; p = m.platform; q = this.getCookieSetDomain(); g.delCookie("pgv_info"); this.ya(); this.setStayTime(); }, run: function () { g.init(); this.url = []; this.url.push(this.getUrl()); this.url.unshift("http://statistics.dragonpass.com.cn/hm.gif?"); this.url.push(this.getRefInfo()); this.url.push(this.getId()); this.url.push(this.getTitle()); this.url.push(this.getPvi()); this.url.push(this.getSi()); this.url.push(this.getMainEnvInfo()); this.url.push(this.getExtendEnvInfo()); this.url.push(this.getBrowserInfo()); this.url.push(this.getPageSpeed()); this.url.push(this.getScrollHeight()); this.url.push(this.getUi()); this.url.push(this.getEp()); this.url.push(this.getCl()); g.save(); this.sendInfo(this.url.join("")); //this.loadHotClick(this); }, sendStayTime:function(_this){ n = new Image(1, 1); n.onload = n.onError = function () { n.onload = n.onError = null; n = null; } var imgUrl = []; imgUrl.push(_this.getUrl()); imgUrl.unshift("http://statistics.dragonpass.com.cn/hm.gif?"); var arr, reg = new RegExp("(^| )stay=([^;]*)(;|$)"); if(arr = document.cookie.match(reg)){ stay = arr[2]; imgUrl.push(stay); imgUrl = imgUrl.join(""); n.src = imgUrl; } }, setStayTime:function(){ var _this = this; _this.sendStayTime(_this); window.onbeforeunload = function(){ _this.sendStayTime(_this); } if(isWeiXin()){ document.addEventListener('visibilitychange', function(){ if (document.visibilityState == 'hidden') { _this.sendStayTime(_this); } }); } var time = 1; setInterval(function(){ document.cookie = "stay="+ _this.getSi() + "&st=" + time + ";expires=Sun, 18 Jan 2038 00:00:00 GMT;"; time += 1; },1000); }, //事件处理 ya: function() { var t = this; window._dphmt.push = function(a) { ep = (a[1] || "") +"*"+ (a[2] || "") +"*"+ (a[3] || ""); t.run(); } }, loadHotClick: function (a) { u && u.getScript({ url: "hot.js", callback: function () { (new hot(a)).watchClick(); } }) }, inArray: function (a, c) { for (i = 0; i < a.length && a[i] != c; i++); return i != a.length; }, getUi: function () { var a = "", b = ""; a = unescape(g.get("pi=", !0)); if ("-" != a) { for (var a = a.split(";"), c = 0; c < a.length; c++) { b = a[c]; break; } } return "&ui=" + b; }, getUrl: function () { return "&url=" + escape(h.URL); }, getId: function () { return "&id=" + id; }, getRefInfo: function () { return "&rurl=" + escape(h.referrer.substr(0, 100)); }, getTitle:function(){ return "&tt=" + encodeURI(encodeURI(h.title)); }, getPageSpeed: function () { return "undefined" == typeof _speedMark ? "&ps=" : "&ps=" + (new Date - _speedMark); }, getPvi: function () { try { return m.cookieEnabled ? "&pvi=" + g.setCookie("pgv_pvi", !0) : "&pvi=NoCookie"; } catch (a) { return "&pvi=NoCookie"; } }, getSi: function () { return "&si=" + g.setCookie("ssi"); }, getBrowserInfo: function () { var a = b.detect(); return "&os=" + a.os + "&bs=" + a.browser + "/" + a.version; }, getScrollHeight: function () { return "&sh=" + Math.max(j.scrollHeight , h.documentElement.scrollHeight || 0); }, getEp:function(){ return ep ? "&ep=" + ep : ""; }, getCl:function(){ var str = ""; for(var keys in _dphmt){ if(typeof _dphmt[keys] == 'string'){ str += "&"+keys+"=" + _dphmt[keys]; } } return str; }, getMainEnvInfo: function () { var a = ""; try { var c = "-", b = "-", d = "-", e = "-", o = 0; self.screen && (c = screen.width + "x" + screen.height, b = (screen.colorDepth || 0) + "-bit"); m.language ? d = m.language.toLowerCase() : m.browserLanguage && (d = m.browserLanguage.toLowerCase()); o = m.javaEnabled() ? 1 : 0; e = -((new Date).getTimezoneOffset()) / 60; a = "&scr=" + c + "&scl=" + b + "&lg=" + d + "&jv=" + o + "&tz=" + e } catch (g) { } finally { return a } }, getExtendEnvInfo: function () { var a = ""; try { var c = k.href, b = "", a = a + ("&fl=" + this.getFlashInfo()); j.addBehavior && (j.addBehavior("#default#homePage"), j.isHomePage(c) && (a += "&hp=y")) || (a += "&hp="); j.addBehavior && (j.addBehavior("#default#clientCaps"), b = j.connectionType); } catch (d) { } finally { return a } }, getFlashInfo: function () { var a = "-", c = navigator; try { if (c.plugins && c.plugins.length) for (var b = 0; b < c.plugins.length; b++) { if (-1 < c.plugins[b].name.indexOf("Shockwave Flash")) { a = c.plugins[b].description.split("Shockwave Flash ")[1]; break } } else if (window.ActiveXObject) for (b = 12; 5 <= b; b--) try { if (eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash." + b + "');")) { a = b + ".0"; break } } catch (d) { } } catch (e) { } return a }, getParameter: function (a, c) { if (a && c) { var b = c.match(RegExp("(\\?|#|&)" + a + "=([^&^#]*)(#|&|$)")); return b ? b[2] : "" } return "" }, getCookieSetDomain: function () { var a = window.location.host, c = { "com.cn": 1, "net.cn": 1, "gov,cn": 1, "com.hk": 1 }, b = a.split("."); 2 < b.length && (a = (c[b.slice(-2).join(".")] ? b.slice(-3) : b.slice(-2)).join(".")); return a }, sendInfo: function (a) { n = new Image(1, 1); n.onload = n.onerror = function () { n.onload = n.onerror = null; n = null; } n.src = a; } }; //加载js文件 var u = { config: { url: "", charset: "utf-8", callback: function () { } }, merge: function (a, c) { for (var b in c) a[b] = c[b]; return a }, getScript: function (a) { var c; this.config = this.merge(this.config, a); a = document.createElement("script"); a.setAttribute("type", "text/javascript"); a.setAttribute("charset", this.config.charset); a.setAttribute("src", this.config.url); var b = document.getElementsByTagName("script")[0]; b.parentNode.insertBefore(a, b); c = this.config.callback; a.onload = a.onreadystatechange = function () { ("undefined" == typeof this.readyState || "loaded" == this.readyState || "complete" == this.readyState) && c() } } }, //生成随机数 d = { GetRandomNum: function (a, b) { var g = b - a; var r = Math.random(); return (a + Math.round(r * g)); } }, //cookie操作 g = { sck: [], sco: {}, init: function () { var a = this.get("pgv_info=", !0); if ("-" != a) { for (var a = a.split("&"), c = 0; c < a.length; c++) { var b = a[c].split("="); this.set(b[0], unescape(b[1])) } } }, //获得临时cookie值 get: function (a, c) { var b = c ? h.cookie : this.get("pgv_info=", !0), d = "-", e; e = b.indexOf(a); if (-1 < e) { e += a.length; d = b.indexOf(";", e); -1 == d && (d = b.length); if (!c) { var f = b.indexOf("&", e); -1 < f && (d = Math.min(d, f)) } d = unescape(b.substring(e, d)) } return d }, //设置临时cookie set: function (a, c) { this.sco[a] = c; for (var b = !1, d = this.sck.length, e = 0; e < d; e++) if (a == this.sck[e]) { b = !0; break } b || this.sck.push(a) }, setCookie: function (a, c) { var b = g.get(a + "=", c); if ("-" == b) { c ? b = "" : b = "s"; var d = (new Date).getUTCMilliseconds(), b = new Date().getTime() + b + Math.round(2147483647 * Math.abs(Math.random() + 1)) * (d + 1) % 1E10 } c ? this.saveCookie(a + "=" + b, "expires=Sun, 18 Jan 2038 00:00:00 GMT;") : this.set(a, b); return b }, save: function () { if (l.sessionSpan) { var a = new Date; a.setTime(a.getTime() + 6E4 * l.sessionSpan) } for (var c = "", b = this.sck.length, d = 0; d < b; d++) c += this.sck[d] + "=" + this.sco[this.sck[d]] + "&"; c = "pgv_info=" + c.substr(0, c.length - 1); b = ""; a && (b = "expires=" + a.toGMTString()); this.saveCookie(c, b) }, saveCookie: function (a, c) { h.cookie= a +"; path=/;" + c; }, delCookie: function (name) { var exp = new Date(); exp.setTime(exp.getTime() + (-1 * 24 * 60 * 60 * 1000)); var cval = g.get(name, !0); h.cookie = name + "=" + cval + "; path=/; expires=" + exp.toGMTString(); } }, //浏览器信息 b = { detect: function () { var ret = { browser: this.search(this.data.bs), version: this.search(navigator.userAgent), os: this.search(this.data.os) }; if (ret.os == 'Linux') { var distros = ['CentOS', 'Debian', 'Fedora', 'Gentoo', 'Mandriva', 'Mageia', 'Red Hat', 'Slackware', 'SUSE', 'Turbolinux', 'Ubuntu']; for (var i = 0; i < distros.length; i++) { if (navigator.userAgent.toLowerCase().match(distros[i].toLowerCase())) { ret.distro = distros[i]; break; } } } return ret; }, search: function (data) { if (typeof data === "object") { for (var i = 0; i < data.length; i++) { var dataString = data[i].string, dataProp = data[i].prop; this.version_string = data[i].versionSearch || data[i].identity; if (dataString) { if (-1 != dataString.indexOf(data[i].subString)) { return data[i].identity; } } else if (dataProp) { return data[i].identity; } } } else { var index = data.indexOf(this.version_string); if (index == -1) return; return parseFloat(data.substr(index + this.version_string.length + 1)); } }, data: { bs: [ { string: navigator.userAgent, subString: "Chrome", identity: "Chrome" }, { string: navigator.userAgent, subString: "OmniWeb", versionSearch: "OmniWeb/", identity: "OmniWeb" }, { string: navigator.vendor, subString: "Apple", identity: "Safari", versionSearch: "Version" }, { prop: window.opera, identity: "Opera", versionSearch: "Version" }, { string: navigator.vendor, subString: "iCab", identity: "iCab" }, { string: navigator.vendor, subString: "KDE", identity: "Konqueror" }, { string: navigator.userAgent, subString: "Firefox", identity: "Firefox" }, { string: navigator.vendor, subString: "Camino", identity: "Camino" }, { string: navigator.userAgent, subString: "Netscape", identity: "Netscape" }, { string: navigator.userAgent, subString: "MSIE", identity: "Explorer", versionSearch: "MSIE" }, { string: navigator.userAgent, subString: "Gecko", identity: "Mozilla", versionSearch: "rv" }, { string: navigator.userAgent, subString: "Mozilla", identity: "Netscape", versionSearch: "Mozilla" } ], os: [ { string: navigator.platform, subString: "Win", identity: "Windows" }, { string: navigator.platform, subString: "Mac", identity: "Mac" }, { string: navigator.userAgent, subString: "iPhone", identity: "iPhone/iPod" }, { string: navigator.userAgent, subString: "iPad", identity: "iPad" }, { string: navigator.userAgent, subString: "Android", identity: "Android" }, { string: navigator.platform, subString: "Linux", identity: "Linux" } ] } }; ea && (new ea).run(); })();