- // ==UserScript==
- // @name:en scii
- // @name:zh-TW 百度廣告(首尾推廣及右側廣告)清理
- // @version 0.89
- // @description 彻底清理百度搜索(www.baidu.com)结果首尾的推广广告、二次顽固广告与右侧广告,并防止反复
- // @description:en Just Kill Baidu AD
- // @description:zh-TW 徹底清理百度搜索(www.baidu.com)結果首尾的推廣廣告、二次頑固廣告與右側廣告,並防止反復
- // @author howoke@utooemail.com
- // @include http*://www.warzone.com/*
- // @grant none
- // @run-at document-start
- // @license MIT License
- // @compatible chrome 测试通过
- // @compatible firefox 测试通过
- // @compatible opera 未测试
- // @compatible safari 未测试
- // @name scripts
- // @namespace https://gf.qytechs.cn/users/240876
- // ==/UserScript==
-
- var io = "undefined" === typeof module ? {} : module.exports;
- (function() {
- (function(d, a) {
- d.version = "0.9.17";
- d.protocol = 1;
- d.transports = [];
- d.j = [];
- d.sockets = {};
- d.connect = function(b, c) {
- var g = d.util.parseUri(b),
- f, e;
- a && a.location && (g.protocol = g.protocol || a.location.protocol.slice(0, -1), g.host = g.host || (a.document ? a.document.domain : a.location.hostname), g.port = g.port || a.location.port);
- f = d.util.uniqueUri(g);
- var l = {
- host: g.host,
- secure: "https" == g.protocol,
- port: g.port || ("https" == g.protocol ? 443 : 80),
- query: g.query || ""
- };
- d.util.merge(l, c);
- if (l["force new connection"] || !d.sockets[f]) e =
- new d.Socket(l);
- !l["force new connection"] && e && (d.sockets[f] = e);
- e = e || d.sockets[f];
- console.log("connect returns", e.of(1 < g.path.length ? g.path : ""));
- return e.of(1 < g.path.length ? g.path : "")
- }
- })("object" === typeof module ? module.exports : this.io = {}, this);
- (function(d, a) {
- var b = d.util = {},
- c = /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
- g = "source protocol authority userInfo user password host port relative path directory file query anchor".split(" ");
- b.parseUri = function(e) {
- e = c.exec(e || "");
- for (var a = {}, b = 14; b--;) a[g[b]] = e[b] || "";
- console.log("parseUri returns", a);
- return a
- };
- b.uniqueUri = function(e) {
- var c = e.protocol,
- b = e.host;
- e = e.port;
- "document" in a ? (b = b || document.domain, e = e || ("https" == c && "https:" !== document.location.protocol ? 443 : document.location.port)) : (b = b || "localhost", e || "https" != c || (e = 443));
- console.log("unique Uri returns", (c || "http") + "://" + b + ":" + (e || 80));
- return (c || "http") + "://" + b + ":" + (e || 80)
- };
- b.query = function(e, a) {
- var c = b.chunkQuery(e || ""),
- f = [];
- b.merge(c, b.chunkQuery(a || ""));
- for (var g in c) c.hasOwnProperty(g) && f.push(g + "=" + c[g]);
- console.log("b.query returns", f.length ?
- "?" + f.join("&") : "");
- return f.length ?
- "?" + f.join("&") : ""
- };
- b.chunkQuery = function(e) {
- var a = {};
- e = e.split("&");
- for (var c = 0, b = e.length, f; c < b; ++c) f = e[c].split("="), f[0] && (a[f[0]] = f[1]);
- console.log("chunkQuery returns", a);
- return a
- };
- var f = !1;
- b.load = function(e) {
- if ("document" in a && "complete" === document.readyState || f) return e();
- b.on(a, "load", e, !1)
- };
- b.on = function(e, a, c, b) {
- console.log("b.on args", e,a,c,b);
- e.attachEvent ? e.attachEvent("on" + a, c) : e.addEventListener && e.addEventListener(a, c, b)
- };
- b.request = function(e) {
- console.log("b.request arg", e);
- if (e && "undefined" != typeof XDomainRequest && !b.ua.hasCORS) return new XDomainRequest;
- if ("undefined" != typeof XMLHttpRequest &&
- (!e || b.ua.hasCORS)) return new XMLHttpRequest;
- if (!e) try {
- return new(window[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")
- } catch (a) {}
- return null
- };
- "undefined" != typeof window && b.load(function() {
- f = !0
- });
- b.defer = function(e) {
- if (!b.ua.webkit || "undefined" != typeof importScripts) return e();
- b.load(function() {
- setTimeout(e, 100)
- })
- };
- b.merge = function(e, a, c, f) {
- console.log("b.merge args", e,a ,c , f);
- f = f || [];
- c = "undefined" == typeof c ? 2 : c;
- for (var g in a) a.hasOwnProperty(g) && 0 > b.indexOf(f, g) && ("object" === typeof e[g] && c ? b.merge(e[g], a[g], c - 1, f) : (e[g] =
- a[g], f.push(a[g])));
- return e
- };
- b.mixin = function(a, c) {
- b.merge(a.prototype, c.prototype)
- };
- b.inherit = function(a, c) {
- function b() {}
- b.prototype = c.prototype;
- a.prototype = new b
- };
- b.isArray = Array.isArray || function(a) {
- return "[object Array]" === Object.prototype.toString.call(a)
- };
- b.intersect = function(a, c) {
- for (var f = [], g = a.length > c.length ? a : c, d = a.length > c.length ? c : a, n = 0, v = d.length; n < v; n++) ~b.indexOf(g, d[n]) && f.push(d[n]);
- return f
- };
- b.indexOf = function(a, c, b) {
- var f = a.length;
- for (b = 0 > b ? 0 > b + f ? 0 : b + f : b || 0; b < f && a[b] !== c; b++);
- return f <= b ? -1 : b
- };
- b.toArray = function(a) {
- for (var c = [], b = 0, f = a.length; b < f; b++) c.push(a[b]);
- return c
- };
- b.ua = {};
- b.ua.hasCORS = "undefined" != typeof XMLHttpRequest && function() {
- try {
- var a = new XMLHttpRequest
- } catch (c) {
- return !1
- }
- return void 0 != a.withCredentials
- }();
- b.ua.webkit = "undefined" != typeof navigator && /webkit/i.test(navigator.userAgent);
- b.ua.iDevice = "undefined" != typeof navigator && /iPad|iPhone|iPod/i.test(navigator.userAgent)
- })("undefined" != typeof io ? io : module.exports, this);
- (function(d, a) {
- function b() {}
- d.EventEmitter =
- b;
- b.prototype.on = function(c, b) {
- console.log("on args", c, b);
- console.log("this on", this.$events);
- this.$events || (this.$events = {});
- this.$events[c] ? a.util.isArray(this.$events[c]) ? this.$events[c].push(b) : this.$events[c] = [this.$events[c], b] : this.$events[c] = b;
- return this
- };
- b.prototype.addListener = b.prototype.on;
- b.prototype.once = function(a, b) {
- function f() {
- e.removeListener(a, f);
- b.apply(this, arguments)
- }
- var e = this;
- f.listener = b;
- this.on(a, f);
- return this
- };
- b.prototype.removeListener = function(c, b) {
- if (this.$events && this.$events[c]) {
- var f = this.$events[c];
- if (a.util.isArray(f)) {
- for (var e = -1, l = 0, m = f.length; l < m; l++)
- if (f[l] === b || f[l].listener && f[l].listener === b) {
- e = l;
- break
- } if (0 > e) return this;
- f.splice(e, 1);
- f.length || delete this.$events[c]
- } else(f === b || f.listener && f.listener === b) && delete this.$events[c]
- }
- return this
- };
- b.prototype.removeAllListeners = function(a) {
- if (void 0 === a) return this.$events = {}, this;
- this.$events && this.$events[a] && (this.$events[a] = null);
- return this
- };
- b.prototype.listeners = function(b) {
- this.$events || (this.$events = {});
- this.$events[b] || (this.$events[b] = []);
- a.util.isArray(this.$events[b]) ||
- (this.$events[b] = [this.$events[b]]);
- return this.$events[b]
- };
- b.prototype.emit = function(b) {
- console.log("emit arg", b);
- console.log("this events", this.$events);
- if (!this.$events) return !1;
- var g = this.$events[b];
- if (!g) return !1;
- var f = Array.prototype.slice.call(arguments, 1);
- if ("function" == typeof g) g.apply(this, f);
- else if (a.util.isArray(g))
- for (var g = g.slice(), e = 0, l = g.length; e < l; e++) g[e].apply(this, f);
- else return !1;
- return !0
- }
- })("undefined" != typeof io ? io : module.exports, "undefined" != typeof io ? io : module.parent.exports);
- (function(d, a) {
- function b(a) {
- return 10 > a ? "0" + a : a
- }
-
- function c(a) {
- l.lastIndex =
- 0;
- return l.test(a) ? '"' + a.replace(l, function(a) {
- var b = p[a];
- return "string" === typeof b ? b : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)
- }) + '"' : '"' + a + '"'
- }
-
- function g(a, e) {
- console.log("g args", a, e);
- var f, l, d, p, u = m,
- h, q = e[a];
- q instanceof Date && (q = isFinite(a.valueOf()) ? a.getUTCFullYear() + "-" + b(a.getUTCMonth() + 1) + "-" + b(a.getUTCDate()) + "T" + b(a.getUTCHours()) + ":" + b(a.getUTCMinutes()) + ":" + b(a.getUTCSeconds()) + "Z" : null);
- "function" === typeof n && (q = n.call(e, a, q));
- switch (typeof q) {
- case "string":
- return c(q);
- case "number":
- return isFinite(q) ?
- String(q) : "null";
- case "boolean":
- case "null":
- return String(q);
- case "object":
- if (!q) return "null";
- m += r;
- h = [];
- if ("[object Array]" === Object.prototype.toString.apply(q)) {
- p = q.length;
- for (f = 0; f < p; f += 1) h[f] = g(f, q) || "null";
- d = 0 === h.length ? "[]" : m ? "[\n" + m + h.join(",\n" + m) + "\n" + u + "]" : "[" + h.join(",") + "]";
- m = u;
- return d
- }
- if (n && "object" === typeof n)
- for (p = n.length, f = 0; f < p; f += 1) "string" === typeof n[f] && (l = n[f], (d = g(l, q)) && h.push(c(l) + (m ? ": " : ":") + d));
- else
- for (l in q) Object.prototype.hasOwnProperty.call(q, l) && (d = g(l, q)) && h.push(c(l) +
- (m ? ": " : ":") + d);
- d = 0 === h.length ? "{}" : m ? "{\n" + m + h.join(",\n" + m) + "\n" + u + "}" : "{" + h.join(",") + "}";
- m = u;
- return d
- }
- }
- if (a && a.parse) return d.JSON = {
- parse: a.parse,
- stringify: a.stringify
- };
- var f = d.JSON = {},
- e = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
- l = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
- m, r, p = {
- "\b": "\\b",
- "\t": "\\t",
- "\n": "\\n",
- "\f": "\\f",
- "\r": "\\r",
- '"': '\\"',
- "\\": "\\\\"
- },
- n;
- f.stringify = function(a, b, c) {
- var f;
- r = m = "";
- if ("number" === typeof c)
- for (f = 0; f < c; f += 1) r += " ";
- else "string" === typeof c && (r = c);
- if ((n = b) && "function" !== typeof b && ("object" !== typeof b || "number" !== typeof b.length)) throw Error("JSON.stringify");
- return g("", {
- "": a
- })
- };
- f.parse = function(a, b) {
- function c(a, f) {
- var e, l, g = a[f];
- if (g && "object" === typeof g)
- for (e in g) Object.prototype.hasOwnProperty.call(g, e) && (l = c(g, e), void 0 !== l ? g[e] = l : delete g[e]);
- return b.call(a, f, g)
- }
- var f;
- a = String(a);
- e.lastIndex = 0;
- e.test(a) && (a = a.replace(e,
- function(a) {
- return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)
- }));
- if (/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return f = eval("(" + a + ")"), "function" === typeof b ? c({
- "": f
- }, "") : f;
- throw new SyntaxError("JSON.parse");
- }
- })("undefined" != typeof io ? io : module.exports, "undefined" !== typeof JSON ? JSON : void 0);
- (function(d, a) {
- var b = d.parser = {},
- c = b.packets = "disconnect connect heartbeat message json event ack error noop".split(" "),
- g = b.reasons = ["transport not supported", "client not handshaken", "unauthorized"],
- f = b.advice = ["reconnect"],
- e = a.JSON,
- l = a.util.indexOf;
- b.encodePacket = function(a) {
- var b = l(c, a.type),
- d = a.id || "",
- m = a.endpoint || "",
- w = a.ack,
- t = null;
- switch (a.type) {
- case "error":
- var x = a.reason ? l(g, a.reason) : "";
- a = a.advice ? l(f, a.advice) : "";
- if ("" !== x || "" !== a) t = x + ("" !== a ? "+" + a : "");
- break;
- case "message":
- "" !== a.data && (t = a.data);
- break;
- case "event":
- t = {
- name: a.name
- };
- a.args && a.args.length && (t.args = a.args);
- t = e.stringify(t);
- break;
- case "json":
- t =
- e.stringify(a.data);
- break;
- case "connect":
- a.qs && (t = a.qs);
- break;
- case "ack":
- t = a.ackId + (a.args && a.args.length ? "+" + e.stringify(a.args) : "")
- }
- b = [b, d + ("data" == w ? "+" : ""), m];
- null !== t && void 0 !== t && b.push(t);
- console.log(b.join(':'));
- return b.join(":")
- };
- b.encodePayload = function(a) {
- console.log("encodePayload args");
- var b = "";
- if (1 == a.length) return a[0];
- for (var c = 0, f = a.length; c < f; c++) b += "\ufffd" + a[c].length + "\ufffd" + a[c];
- return b
- };
- var m = /([^:]+):([0-9]+)?(\+)?:([^:]+)?:?([\s\S]*)?/;
- b.decodePacket = function(a) {
- var b = a.match(m);
- if (!b) return {};
- var l = b[2] || "";
- a = b[5] || "";
- var d = {
- type: c[b[1]],
- endpoint: b[4] || ""
- };
- l && (d.id = l, d.ack = b[3] ? "data" : !0);
- switch (d.type) {
- case "error":
- b = a.split("+");
- d.reason = g[b[0]] || "";
- d.advice = f[b[1]] || "";
- break;
- case "message":
- d.data = a || "";
- break;
- case "event":
- try {
- var w = e.parse(a);
- d.name = w.name;
- d.args = w.args
- } catch (t) {}
- d.args = d.args || [];
- break;
- case "json":
- try {
- d.data = e.parse(a)
- } catch (t) {}
- break;
- case "connect":
- d.qs = a || "";
- break;
- case "ack":
- if (b = a.match(/^([0-9]+)(\+)?(.*)/))
- if (d.ackId = b[1], d.args = [], b[3]) try {
- d.args = b[3] ? e.parse(b[3]) : []
- } catch (t) {}
- }
- return d
- };
- b.decodePayload =
- function(a) {
- if ("\ufffd" == a.charAt(0)) {
- for (var c = [], f = 1, e = ""; f < a.length; f++) "\ufffd" == a.charAt(f) ? (c.push(b.decodePacket(a.substr(f + 1).substr(0, e))), f += Number(e) + 1, e = "") : e += a.charAt(f);
- return c
- }
- return [b.decodePacket(a)]
- }
- })("undefined" != typeof io ? io : module.exports, "undefined" != typeof io ? io : module.parent.exports);
- (function(d, a) {
- function b(a, b) {
- this.socket = a;
- this.sessid = b
- }
- d.Transport = b;
- a.util.mixin(b, a.EventEmitter);
- b.prototype.heartbeats = function() {
- return !0
- };
- b.prototype.onData = function(b) {
- this.clearCloseTimeout();
- (this.socket.connected || this.socket.connecting || this.socket.reconnecting) && this.setCloseTimeout();
- if ("" !== b && (b = a.parser.decodePayload(b)) && b.length)
- for (var g = 0, f = b.length; g < f; g++) this.onPacket(b[g]);
- return this
- };
- b.prototype.onPacket = function(a) {
- this.socket.setHeartbeatTimeout();
- if ("heartbeat" == a.type) return this.onHeartbeat();
- if ("connect" == a.type && "" == a.endpoint) this.onConnect();
- "error" == a.type && "reconnect" == a.advice && (this.isOpen = !1);
- this.socket.onPacket(a);
- return this
- };
- b.prototype.setCloseTimeout =
- function() {
- if (!this.closeTimeout) {
- var a = this;
- this.closeTimeout = setTimeout(function() {
- a.onDisconnect()
- }, this.socket.closeTimeout)
- }
- };
- b.prototype.onDisconnect = function() {
- this.isOpen && this.close();
- this.clearTimeouts();
- this.socket.onDisconnect();
- return this
- };
- b.prototype.onConnect = function() {
- this.socket.onConnect();
- return this
- };
- b.prototype.clearCloseTimeout = function() {
- this.closeTimeout && (clearTimeout(this.closeTimeout), this.closeTimeout = null)
- };
- b.prototype.clearTimeouts = function() {
- this.clearCloseTimeout();
- this.reopenTimeout && clearTimeout(this.reopenTimeout)
- };
- b.prototype.packet = function(b) {
- this.send(a.parser.encodePacket(b))
- };
- b.prototype.onHeartbeat = function(a) {
- this.packet({
- type: "heartbeat"
- })
- };
- b.prototype.onOpen = function() {
- this.isOpen = !0;
- this.clearCloseTimeout();
- this.socket.onOpen()
- };
- b.prototype.onClose = function() {
- this.isOpen = !1;
- this.socket.onClose();
- this.onDisconnect()
- };
- b.prototype.prepareUrl = function() {
- var b = this.socket.options;
- return this.scheme() + "://" + b.host + ":" + b.port + "/" + b.resource + "/" + a.protocol +
- "/" + this.name + "/" + this.sessid
- };
- b.prototype.ready = function(a, b) {
- b.call(this)
- }
- })("undefined" != typeof io ? io : module.exports, "undefined" != typeof io ? io : module.parent.exports);
- (function(d, a, b) {
- function c(f) {
- this.options = {
- port: 80,
- secure: !1,
- document: "document" in b ? document : !1,
- resource: "socket.io",
- transports: a.transports,
- "connect timeout": 1E4,
- "try multiple transports": !0,
- reconnect: !0,
- "reconnection delay": 500,
- "reconnection limit": Infinity,
- "reopen delay": 3E3,
- "max reconnection attempts": 10,
- "sync disconnect on unload": !1,
- "auto connect": !0,
- "flash policy port": 10843,
- manualFlush: !1
- };
- a.util.merge(this.options, f);
- this.reconnecting = this.connecting = this.open = this.connected = !1;
- this.namespaces = {};
- this.buffer = [];
- this.doBuffer = !1;
- if (this.options["sync disconnect on unload"] && (!this.isXDomain() || a.util.ua.hasCORS)) {
- var e = this;
- a.util.on(b, "beforeunload", function() {
- e.disconnectSync()
- }, !1)
- }
- this.options["auto connect"] && this.connect()
- }
-
- function g() {}
- d.Socket = c;
- a.util.mixin(c, a.EventEmitter);
- c.prototype.of = function(b) {
- this.namespaces[b] ||
- (this.namespaces[b] = new a.SocketNamespace(this, b), "" !== b && this.namespaces[b].packet({
- type: "connect"
- }));
- return this.namespaces[b]
- };
- c.prototype.publish = function() {
- this.emit.apply(this, arguments);
- var a, b;
- for (b in this.namespaces) this.namespaces.hasOwnProperty(b) && (a = this.of(b), a.$emit.apply(a, arguments))
- };
- c.prototype.handshake = function(b) {
- function e(a) {
- a instanceof Error ? (c.connecting = !1, c.onError(a.message)) : b.apply(null, a.split(":"))
- }
- var c = this,
- d = this.options,
- d = ["http" + (d.secure ? "s" : "") + ":/", d.host +
- ":" + d.port, d.resource, a.protocol, a.util.query(this.options.query, "t=" + +new Date)
- ].join("/");
- if (this.isXDomain() && !a.util.ua.hasCORS) {
- var r = document.getElementsByTagName("script")[0],
- p = document.createElement("script");
- p.src = d + "&jsonp=" + a.j.length;
- r.parentNode.insertBefore(p, r);
- a.j.push(function(a) {
- e(a);
- p.parentNode.removeChild(p)
- })
- } else {
- var n = a.util.request();
- n.open("GET", d, !0);
- this.isXDomain() && (n.withCredentials = !0);
- n.onreadystatechange = function() {
- if (4 == n.readyState)
- if (n.onreadystatechange = g, 200 ==
- n.status) e(n.responseText);
- else if (403 == n.status) c.onError(n.responseText);
- else c.connecting = !1, !c.reconnecting && c.onError(n.responseText)
- };
- n.send(null)
- }
- };
- c.prototype.getTransport = function(b) {
- b = b || this.transports;
- for (var e = 0, c; c = b[e]; e++)
- if (a.Transport[c] && a.Transport[c].check(this) && (!this.isXDomain() || a.Transport[c].xdomainCheck(this))) return new a.Transport[c](this, this.sessionid);
- return null
- };
- c.prototype.connect = function(b) {
- if (this.connecting) return this;
- var c = this;
- c.connecting = !0;
- this.handshake(function(l,
- g, d, p) {
- function n(a) {
- c.transport && c.transport.clearTimeouts();
- c.transport = c.getTransport(a);
- if (!c.transport) return c.publish("connect_failed");
- c.transport.ready(c, function() {
- c.connecting = !0;
- c.publish("connecting", c.transport.name);
- c.transport.open();
- c.options["connect timeout"] && (c.connectTimeoutTimer = setTimeout(function() {
- if (!c.connected && (c.connecting = !1, c.options["try multiple transports"])) {
- for (var a = c.transports; 0 < a.length && a.splice(0, 1)[0] != c.transport.name;);
- a.length ? n(a) : c.publish("connect_failed")
- }
- },
- c.options["connect timeout"]))
- })
- }
- c.sessionid = l;
- c.closeTimeout = 1E3 * d;
- c.heartbeatTimeout = 1E3 * g;
- c.transports || (c.transports = c.origTransports = p ? a.util.intersect(p.split(","), c.options.transports) : c.options.transports);
- c.setHeartbeatTimeout();
- n(c.transports);
- c.once("connect", function() {
- clearTimeout(c.connectTimeoutTimer);
- b && "function" == typeof b && b()
- })
- });
- return this
- };
- c.prototype.setHeartbeatTimeout = function() {
- clearTimeout(this.heartbeatTimeoutTimer);
- if (!this.transport || this.transport.heartbeats()) {
- var a =
- this;
- this.heartbeatTimeoutTimer = setTimeout(function() {
- a.transport.onClose()
- }, this.heartbeatTimeout)
- }
- };
- c.prototype.packet = function(a) {
- this.connected && !this.doBuffer ? this.transport.packet(a) : this.buffer.push(a);
- return this
- };
- c.prototype.setBuffer = function(a) {
- this.doBuffer = a;
- !a && this.connected && this.buffer.length && (this.options.manualFlush || this.flushBuffer())
- };
- c.prototype.flushBuffer = function() {
- this.transport.payload(this.buffer);
- this.buffer = []
- };
- c.prototype.disconnect = function() {
- if (this.connected || this.connecting) this.open &&
- this.of("").packet({
- type: "disconnect"
- }), this.onDisconnect("booted");
- return this
- };
- c.prototype.disconnectSync = function() {
- var b = a.util.request(),
- c = ["http" + (this.options.secure ? "s" : "") + ":/", this.options.host + ":" + this.options.port, this.options.resource, a.protocol, "", this.sessionid].join("/") + "/?disconnect=1";
- b.open("GET", c, !1);
- b.send(null);
- this.onDisconnect("booted")
- };
- c.prototype.isXDomain = function() {
- var a = b.location.port || ("https:" == b.location.protocol ? 443 : 80);
- return this.options.host !== b.location.hostname ||
- this.options.port != a
- };
- c.prototype.onConnect = function() {
- this.connected || (this.connected = !0, this.connecting = !1, this.doBuffer || this.setBuffer(!1), this.emit("connect"))
- };
- c.prototype.onOpen = function() {
- this.open = !0
- };
- c.prototype.onClose = function() {
- this.open = !1;
- clearTimeout(this.heartbeatTimeoutTimer)
- };
- c.prototype.onPacket = function(a) {
- this.of(a.endpoint).onPacket(a)
- };
- c.prototype.onError = function(a) {
- a && a.advice && "reconnect" === a.advice && (this.connected || this.connecting) && (this.disconnect(), this.options.reconnect &&
- this.reconnect());
- this.publish("error", a && a.reason ? a.reason : a)
- };
- c.prototype.onDisconnect = function(a) {
- var b = this.connected,
- c = this.connecting;
- this.open = this.connecting = this.connected = !1;
- if (b || c) this.transport.close(), this.transport.clearTimeouts(), b && (this.publish("disconnect", a), "booted" != a && this.options.reconnect && !this.reconnecting && this.reconnect())
- };
- c.prototype.reconnect = function() {
- function a() {
- if (c.connected) {
- for (var f in c.namespaces) c.namespaces.hasOwnProperty(f) && "" !== f && c.namespaces[f].packet({
- type: "connect"
- });
- c.publish("reconnect", c.transport.name, c.reconnectionAttempts)
- }
- clearTimeout(c.reconnectionTimer);
- c.removeListener("connect_failed", b);
- c.removeListener("connect", b);
- c.reconnecting = !1;
- delete c.reconnectionAttempts;
- delete c.reconnectionDelay;
- delete c.reconnectionTimer;
- delete c.redoTransports;
- c.options["try multiple transports"] = d
- }
-
- function b() {
- if (c.reconnecting) {
- if (c.connected) return a();
- if (c.connecting && c.reconnecting) return c.reconnectionTimer = setTimeout(b, 1E3);
- c.reconnectionAttempts++ >= g ? c.redoTransports ?
- (c.publish("reconnect_failed"), a()) : (c.on("connect_failed", b), c.options["try multiple transports"] = !0, c.transports = c.origTransports, c.transport = c.getTransport(), c.redoTransports = !0, c.connect()) : (c.reconnectionDelay < p && (c.reconnectionDelay *= 2), c.connect(), c.publish("reconnecting", c.reconnectionDelay, c.reconnectionAttempts), c.reconnectionTimer = setTimeout(b, c.reconnectionDelay))
- }
- }
- this.reconnecting = !0;
- this.reconnectionAttempts = 0;
- this.reconnectionDelay = this.options["reconnection delay"];
- var c = this,
- g = this.options["max reconnection attempts"],
- d = this.options["try multiple transports"],
- p = this.options["reconnection limit"];
- this.options["try multiple transports"] = !1;
- this.reconnectionTimer = setTimeout(b, this.reconnectionDelay);
- this.on("connect", b)
- }
- })("undefined" != typeof io ? io : module.exports, "undefined" != typeof io ? io : module.parent.exports, this);
- (function(d, a) {
- function b(a, b) {
- this.socket = a;
- this.name = b || "";
- this.flags = {};
- this.json = new c(this, "json");
- this.ackPackets = 0;
- this.acks = {}
- }
-
- function c(a, b) {
- this.namespace = a;
- this.name = b
- }
- d.SocketNamespace = b;
- a.util.mixin(b, a.EventEmitter);
- b.prototype.$emit = a.EventEmitter.prototype.emit;
- b.prototype.of = function() {
- return this.socket.of.apply(this.socket, arguments)
- };
- b.prototype.packet = function(a) {
- a.endpoint = this.name;
- this.socket.packet(a);
- this.flags = {};
- return this
- };
- b.prototype.send = function(a, b) {
- console.log("send args", a, b);
- var c = {
- type: this.flags.json ? "json" : "message",
- data: a
- };
- "function" == typeof b && (c.id = ++this.ackPackets, c.ack = !0, this.acks[c.id] = b);
- return this.packet(c)
- };
- b.prototype.emit = function(a) {
- var b = Array.prototype.slice.call(arguments,
- 1),
- c = b[b.length - 1],
- d = {
- type: "event",
- name: a
- };
- "function" == typeof c && (d.id = ++this.ackPackets, d.ack = "data", this.acks[d.id] = c, b = b.slice(0, b.length - 1));
- d.args = b;
- return this.packet(d)
- };
- b.prototype.disconnect = function() {
- "" === this.name ? this.socket.disconnect() : (this.packet({
- type: "disconnect"
- }), this.$emit("disconnect"));
- return this
- };
- b.prototype.onPacket = function(b) {
- function c() {
- e.packet({
- type: "ack",
- args: a.util.toArray(arguments),
- ackId: b.id
- })
- }
- var e = this;
- switch (b.type) {
- case "connect":
- this.$emit("connect");
- break;
- case "disconnect":
- if ("" === this.name) this.socket.onDisconnect(b.reason || "booted");
- else this.$emit("disconnect", b.reason);
- break;
- case "message":
- case "json":
- var d = ["message", b.data];
- "data" == b.ack ? d.push(c) : b.ack && this.packet({
- type: "ack",
- ackId: b.id
- });
- this.$emit.apply(this, d);
- break;
- case "event":
- d = [b.name].concat(b.args);
- "data" == b.ack && d.push(c);
- this.$emit.apply(this, d);
- break;
- case "ack":
- this.acks[b.ackId] && (this.acks[b.ackId].apply(this, b.args), delete this.acks[b.ackId]);
- break;
- case "error":
- if (b.advice) this.socket.onError(b);
- else "unauthorized" == b.reason ? this.$emit("connect_failed", b.reason) : this.$emit("error", b.reason)
- }
- };
- c.prototype.send = function() {
- this.namespace.flags[this.name] = !0;
- this.namespace.send.apply(this.namespace, arguments)
- };
- c.prototype.emit = function() {
- this.namespace.flags[this.name] = !0;
- this.namespace.emit.apply(this.namespace, arguments)
- }
- })("undefined" != typeof io ? io : module.exports, "undefined" != typeof io ? io : module.parent.exports);
- (function(d, a, b) {
- function c(b) {
- a.Transport.apply(this, arguments)
- }
- d.websocket = c;
- a.util.inherit(c, a.Transport);
- c.prototype.name = "websocket";
- c.prototype.open = function() {
- var c = a.util.query(this.socket.options.query),
- f = this,
- e;
- e || (e = b.MozWebSocket || b.WebSocket);
- this.websocket = new e(this.prepareUrl() + c);
- this.websocket.onopen = function() {
- f.onOpen();
- f.socket.setBuffer(!1)
- };
- this.websocket.onmessage = function(a) {
- f.onData(a.data)
- };
- this.websocket.onclose = function() {
- f.onClose();
- f.socket.setBuffer(!0)
- };
- this.websocket.onerror = function(a) {
- f.onError(a)
- };
- return this
- };
- c.prototype.send = a.util.ua.iDevice ?
- function(a) {
- var b = this;
- setTimeout(function() {
- b.websocket.send(a)
- }, 0);
- return this
- } : function(a) {
- this.websocket.send(a);
- return this
- };
- c.prototype.payload = function(a) {
- for (var b = 0, c = a.length; b < c; b++) this.packet(a[b]);
- return this
- };
- c.prototype.close = function() {
- this.websocket.close();
- return this
- };
- c.prototype.onError = function(a) {
- this.socket.onError(a)
- };
- c.prototype.scheme = function() {
- return this.socket.options.secure ? "wss" : "ws"
- };
- c.check = function() {
- return "WebSocket" in b && !("__addTask" in WebSocket) || "MozWebSocket" in
- b
- };
- c.xdomainCheck = function() {
- return !0
- };
- a.transports.push("websocket")
- })("undefined" != typeof io ? io.Transport : module.exports, "undefined" != typeof io ? io : module.parent.exports, this);
- (function(d, a) {
- function b() {
- a.Transport.websocket.apply(this, arguments)
- }
- d.flashsocket = b;
- a.util.inherit(b, a.Transport.websocket);
- b.prototype.name = "flashsocket";
- b.prototype.open = function() {
- var b = this,
- d = arguments;
- WebSocket.__addTask(function() {
- a.Transport.websocket.prototype.open.apply(b, d)
- });
- return this
- };
- b.prototype.send = function() {
- var b =
- this,
- d = arguments;
- WebSocket.__addTask(function() {
- a.Transport.websocket.prototype.send.apply(b, d)
- });
- return this
- };
- b.prototype.close = function() {
- WebSocket.__tasks.length = 0;
- a.Transport.websocket.prototype.close.call(this);
- return this
- };
- b.prototype.ready = function(c, d) {
- function f() {
- var a = c.options,
- f = a["flash policy port"],
- r = ["http" + (a.secure ? "s" : "") + ":/", a.host + ":" + a.port, a.resource, "static/flashsocket", "WebSocketMain" + (c.isXDomain() ? "Insecure" : "") + ".swf"];
- b.loaded || ("undefined" === typeof WEB_SOCKET_SWF_LOCATION &&
- (WEB_SOCKET_SWF_LOCATION = r.join("/")), 843 !== f && WebSocket.loadFlashPolicyFile("xmlsocket://" + a.host + ":" + f), WebSocket.__initialize(), b.loaded = !0);
- d.call(e)
- }
- var e = this;
- if (document.body) return f();
- a.util.load(f)
- };
- b.check = function() {
- return "undefined" != typeof WebSocket && "__initialize" in WebSocket && x ? 10 <= x.getFlashPlayerVersion().major : !1
- };
- b.xdomainCheck = function() {
- return !0
- };
- "undefined" != typeof window && (WEB_SOCKET_DISABLE_AUTO_INITIALIZATION = !0);
- a.transports.push("flashsocket")
- })("undefined" != typeof io ?
- io.Transport : module.exports, "undefined" != typeof io ? io : module.parent.exports);
- if ("undefined" != typeof window) var x = function() {
- function d() {
- if (!B) {
- try {
- var a = h.getElementsByTagName("body")[0].appendChild(h.createElement("span"));
- a.parentNode.removeChild(a)
- } catch (b) {
- return
- }
- B = !0;
- for (var a = E.length, c = 0; c < a; c++) E[c]()
- }
- }
-
- function a(a) {
- B ? a() : E[E.length] = a
- }
-
- function b(a) {
- if ("undefined" != typeof u.addEventListener) u.addEventListener("load", a, !1);
- else if ("undefined" != typeof h.addEventListener) h.addEventListener("load",
- a, !1);
- else if ("undefined" != typeof u.attachEvent) w(u, "onload", a);
- else if ("function" == typeof u.onload) {
- var b = u.onload;
- u.onload = function() {
- b();
- a()
- }
- } else u.onload = a
- }
-
- function c() {
- var a = h.getElementsByTagName("body")[0],
- b = h.createElement("object");
- b.setAttribute("type", "application/x-shockwave-flash");
- var c = a.appendChild(b);
- if (c) {
- var f = 0;
- (function() {
- if ("undefined" != typeof c.GetVariable) {
- var e = c.GetVariable("$version");
- e && (e = e.split(" ")[1].split(","), k.pv = [parseInt(e[0], 10), parseInt(e[1], 10), parseInt(e[2],
- 10)])
- } else if (10 > f) {
- f++;
- setTimeout(arguments.callee, 10);
- return
- }
- a.removeChild(b);
- c = null;
- g()
- })()
- } else g()
- }
-
- function g() {
- var a = z.length;
- if (0 < a)
- for (var b = 0; b < a; b++) {
- var c = z[b].id,
- d = z[b].callbackFn,
- g = {
- success: !1,
- id: c
- };
- if (0 < k.pv[0]) {
- var h = v(c);
- if (h)
- if (!t(z[b].swfVersion) || k.wk && 312 > k.wk)
- if (z[b].expressInstall && e()) {
- g = {};
- g.data = z[b].expressInstall;
- g.width = h.getAttribute("width") || "0";
- g.height = h.getAttribute("height") || "0";
- h.getAttribute("class") && (g.styleclass = h.getAttribute("class"));
- h.getAttribute("align") &&
- (g.align = h.getAttribute("align"));
- for (var M = {}, h = h.getElementsByTagName("param"), n = h.length, p = 0; p < n; p++) "movie" != h[p].getAttribute("name").toLowerCase() && (M[h[p].getAttribute("name")] = h[p].getAttribute("value"));
- l(g, M, c, d)
- } else m(h), d && d(g);
- else A(c, !0), d && (g.success = !0, g.ref = f(c), d(g))
- } else A(c, !0), d && ((c = f(c)) && "undefined" != typeof c.SetVariable && (g.success = !0, g.ref = c), d(g))
- }
- }
-
- function f(a) {
- var b = null;
- (a = v(a)) && "OBJECT" == a.nodeName && ("undefined" != typeof a.SetVariable ? b = a : (a = a.getElementsByTagName("object")[0]) &&
- (b = a));
- return b
- }
-
- function e() {
- return !F && t("6.0.65") && (k.win || k.mac) && !(k.wk && 312 > k.wk)
- }
-
- function l(a, b, c, f) {
- F = !0;
- I = f || null;
- N = {
- success: !1,
- id: c
- };
- var e = v(c);
- if (e) {
- "OBJECT" == e.nodeName ? (D = r(e), G = null) : (D = e, G = c);
- a.id = "SWFObjectExprInst";
- if ("undefined" == typeof a.width || !/%$/.test(a.width) && 310 > parseInt(a.width, 10)) a.width = "310";
- if ("undefined" == typeof a.height || !/%$/.test(a.height) && 137 > parseInt(a.height, 10)) a.height = "137";
- h.title = h.title.slice(0, 47) + " - Flash Player Installation";
- f = k.ie && k.win ? ["Active"].concat("").join("X") :
- "PlugIn";
- f = "MMredirectURL=" + u.location.toString().replace(/&/g, "%26") + "&MMplayerType=" + f + "&MMdoctitle=" + h.title;
- b.flashvars = "undefined" != typeof b.flashvars ? b.flashvars + ("&" + f) : f;
- k.ie && k.win && 4 != e.readyState && (f = h.createElement("div"), c += "SWFObjectNew", f.setAttribute("id", c), e.parentNode.insertBefore(f, e), e.style.display = "none", function() {
- 4 == e.readyState ? e.parentNode.removeChild(e) : setTimeout(arguments.callee, 10)
- }());
- p(a, b, c)
- }
- }
-
- function m(a) {
- if (k.ie && k.win && 4 != a.readyState) {
- var b = h.createElement("div");
- a.parentNode.insertBefore(b, a);
- b.parentNode.replaceChild(r(a), b);
- a.style.display = "none";
- (function() {
- 4 == a.readyState ? a.parentNode.removeChild(a) : setTimeout(arguments.callee, 10)
- })()
- } else a.parentNode.replaceChild(r(a), a)
- }
-
- function r(a) {
- var b = h.createElement("div");
- if (k.win && k.ie) b.innerHTML = a.innerHTML;
- else if (a = a.getElementsByTagName("object")[0])
- if (a = a.childNodes)
- for (var c = a.length, e = 0; e < c; e++) 1 == a[e].nodeType && "PARAM" == a[e].nodeName || 8 == a[e].nodeType || b.appendChild(a[e].cloneNode(!0));
- return b
- }
-
- function p(a,
- b, c) {
- var e, f = v(c);
- if (k.wk && 312 > k.wk) return e;
- if (f)
- if ("undefined" == typeof a.id && (a.id = c), k.ie && k.win) {
- var d = "",
- g;
- for (g in a) a[g] != Object.prototype[g] && ("data" == g.toLowerCase() ? b.movie = a[g] : "styleclass" == g.toLowerCase() ? d += ' class="' + a[g] + '"' : "classid" != g.toLowerCase() && (d += " " + g + '="' + a[g] + '"'));
- g = "";
- for (var l in b) b[l] != Object.prototype[l] && (g += '<param name="' + l + '" value="' + b[l] + '" />');
- f.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + d + ">" + g + "</object>";
- H[H.length] = a.id;
- e = v(a.id)
- } else {
- l = h.createElement("object");
- l.setAttribute("type", "application/x-shockwave-flash");
- for (var m in a) a[m] != Object.prototype[m] && ("styleclass" == m.toLowerCase() ? l.setAttribute("class", a[m]) : "classid" != m.toLowerCase() && l.setAttribute(m, a[m]));
- for (d in b) b[d] != Object.prototype[d] && "movie" != d.toLowerCase() && (a = l, g = d, m = b[d], c = h.createElement("param"), c.setAttribute("name", g), c.setAttribute("value", m), a.appendChild(c));
- f.parentNode.replaceChild(l, f);
- e = l
- } return e
- }
-
- function n(a) {
- var b = v(a);
- b && "OBJECT" ==
- b.nodeName && (k.ie && k.win ? (b.style.display = "none", function() {
- if (4 == b.readyState) {
- var c = v(a);
- if (c) {
- for (var e in c) "function" == typeof c[e] && (c[e] = null);
- c.parentNode.removeChild(c)
- }
- } else setTimeout(arguments.callee, 10)
- }()) : b.parentNode.removeChild(b))
- }
-
- function v(a) {
- var b = null;
- try {
- b = h.getElementById(a)
- } catch (c) {}
- return b
- }
-
- function w(a, b, c) {
- a.attachEvent(b, c);
- C[C.length] = [a, b, c]
- }
-
- function t(a) {
- var b = k.pv;
- a = a.split(".");
- a[0] = parseInt(a[0], 10);
- a[1] = parseInt(a[1], 10) || 0;
- a[2] = parseInt(a[2], 10) || 0;
- return b[0] >
- a[0] || b[0] == a[0] && b[1] > a[1] || b[0] == a[0] && b[1] == a[1] && b[2] >= a[2] ? !0 : !1
- }
-
- function K(a, b, c, e) {
- if (!k.ie || !k.mac) {
- var f = h.getElementsByTagName("head")[0];
- f && (c = c && "string" == typeof c ? c : "screen", e && (J = y = null), y && J == c || (e = h.createElement("style"), e.setAttribute("type", "text/css"), e.setAttribute("media", c), y = f.appendChild(e), k.ie && k.win && "undefined" != typeof h.styleSheets && 0 < h.styleSheets.length && (y = h.styleSheets[h.styleSheets.length - 1]), J = c), k.ie && k.win ? y && "object" == typeof y.addRule && y.addRule(a, b) : y && "undefined" !=
- typeof h.createTextNode && y.appendChild(h.createTextNode(a + " {" + b + "}")))
- }
- }
-
- function A(a, b) {
- if (O) {
- var c = b ? "visible" : "hidden";
- B && v(a) ? v(a).style.visibility = c : K("#" + a, "visibility:" + c)
- }
- }
-
- function L(a) {
- return null != /[\\\"<>\.;]/.exec(a) && "undefined" != typeof encodeURIComponent ? encodeURIComponent(a) : a
- }
- var u = window,
- h = document,
- q = navigator,
- P = !1,
- E = [function() {
- P ? c() : g()
- }],
- z = [],
- H = [],
- C = [],
- D, G, I, N, B = !1,
- F = !1,
- y, J, O = !0,
- k = function() {
- var a = "undefined" != typeof h.getElementById && "undefined" != typeof h.getElementsByTagName &&
- "undefined" != typeof h.createElement,
- b = q.userAgent.toLowerCase(),
- c = q.platform.toLowerCase(),
- e = c ? /win/.test(c) : /win/.test(b),
- c = c ? /mac/.test(c) : /mac/.test(b),
- b = /webkit/.test(b) ? parseFloat(b.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : !1,
- f = !+"\v1",
- d = [0, 0, 0],
- g = null;
- if ("undefined" != typeof q.plugins && "object" == typeof q.plugins["Shockwave Flash"]) !(g = q.plugins["Shockwave Flash"].description) || "undefined" != typeof q.mimeTypes && q.mimeTypes["application/x-shockwave-flash"] && !q.mimeTypes["application/x-shockwave-flash"].enabledPlugin ||
- (P = !0, f = !1, g = g.replace(/^.*\s+(\S+\s+\S+$)/, "$1"), d[0] = parseInt(g.replace(/^(.*)\..*$/, "$1"), 10), d[1] = parseInt(g.replace(/^.*\.(.*)\s.*$/, "$1"), 10), d[2] = /[a-zA-Z]/.test(g) ? parseInt(g.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0);
- else if ("undefined" != typeof u[["Active"].concat("Object").join("X")]) try {
- if (g = (new(window[["Active"].concat("Object").join("X")])("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version")) f = !0, g = g.split(" ")[1].split(","), d = [parseInt(g[0], 10), parseInt(g[1], 10), parseInt(g[2], 10)]
- } catch (l) {}
- return {
- w3: a,
- pv: d,
- wk: b,
- ie: f,
- win: e,
- mac: c
- }
- }();
- (function() {
- k.w3 && (("undefined" != typeof h.readyState && "complete" == h.readyState || "undefined" == typeof h.readyState && (h.getElementsByTagName("body")[0] || h.body)) && d(), B || ("undefined" != typeof h.addEventListener && h.addEventListener("DOMContentLoaded", d, !1), k.ie && k.win && (h.attachEvent("onreadystatechange", function() {
- "complete" == h.readyState && (h.detachEvent("onreadystatechange", arguments.callee), d())
- }), u == top && function() {
- if (!B) {
- try {
- h.documentElement.doScroll("left")
- } catch (a) {
- setTimeout(arguments.callee,
- 0);
- return
- }
- d()
- }
- }()), k.wk && function() {
- B || (/loaded|complete/.test(h.readyState) ? d() : setTimeout(arguments.callee, 0))
- }(), b(d)))
- })();
- (function() {
- k.ie && k.win && window.attachEvent("onunload", function() {
- for (var a = C.length, b = 0; b < a; b++) C[b][0].detachEvent(C[b][1], C[b][2]);
- a = H.length;
- for (b = 0; b < a; b++) n(H[b]);
- for (var c in k) k[c] = null;
- k = null;
- for (var e in x) x[e] = null;
- x = null
- })
- })();
- return {
- registerObject: function(a, b, c, e) {
- if (k.w3 && a && b) {
- var f = {};
- f.id = a;
- f.swfVersion = b;
- f.expressInstall = c;
- f.callbackFn = e;
- z[z.length] = f;
- A(a,
- !1)
- } else e && e({
- success: !1,
- id: a
- })
- },
- getObjectById: function(a) {
- if (k.w3) return f(a)
- },
- embedSWF: function(b, c, f, d, g, m, h, n, q, r) {
- var u = {
- success: !1,
- id: c
- };
- k.w3 && !(k.wk && 312 > k.wk) && b && c && f && d && g ? (A(c, !1), a(function() {
- f += "";
- d += "";
- var a = {};
- if (q && "object" === typeof q)
- for (var k in q) a[k] = q[k];
- a.data = b;
- a.width = f;
- a.height = d;
- k = {};
- if (n && "object" === typeof n)
- for (var v in n) k[v] = n[v];
- if (h && "object" === typeof h)
- for (var w in h) k.flashvars = "undefined" != typeof k.flashvars ? k.flashvars + ("&" + w + "=" + h[w]) : w + "=" + h[w];
- if (t(g)) v = p(a,
- k, c), a.id == c && A(c, !0), u.success = !0, u.ref = v;
- else {
- if (m && e()) {
- a.data = m;
- l(a, k, c, r);
- return
- }
- A(c, !0)
- }
- r && r(u)
- })) : r && r(u)
- },
- switchOffAutoHideShow: function() {
- O = !1
- },
- ua: k,
- getFlashPlayerVersion: function() {
- return {
- major: k.pv[0],
- minor: k.pv[1],
- release: k.pv[2]
- }
- },
- hasFlashPlayerVersion: t,
- createSWF: function(a, b, c) {
- if (k.w3) return p(a, b, c)
- },
- showExpressInstall: function(a, b, c, f) {
- k.w3 && e() && l(a, b, c, f)
- },
- removeSWF: function(a) {
- k.w3 && n(a)
- },
- createCSS: function(a, b, c, e) {
- k.w3 && K(a, b, c, e)
- },
- addDomLoadEvent: a,
- addLoadEvent: b,
- getQueryParamValue: function(a) {
- var b =
- h.location.search || h.location.hash;
- if (b) {
- /\?/.test(b) && (b = b.split("?")[1]);
- if (null == a) return L(b);
- for (var b = b.split("&"), c = 0; c < b.length; c++)
- if (b[c].substring(0, b[c].indexOf("=")) == a) return L(b[c].substring(b[c].indexOf("=") + 1))
- }
- return ""
- },
- expressInstallCallback: function() {
- if (F) {
- var a = v("SWFObjectExprInst");
- a && D && (a.parentNode.replaceChild(D, a), G && (A(G, !0), k.ie && k.win && (D.style.display = "block")), I && I(N));
- F = !1
- }
- }
- }
- }();
- (function() {
- if ("undefined" != typeof window && !window.WebSocket) {
- var d = window.console;
- d &&
- d.log && d.error || (d = {
- log: function() {},
- error: function() {}
- });
- x.hasFlashPlayerVersion("10.0.0") ? ("file:" == location.protocol && d.error("WARNING: web-socket-js doesn't work in file:///... URL unless you set Flash Security Settings properly. Open the page via Web server i.e. http://..."), WebSocket = function(a, b, c, d, f) {
- var e = this;
- e.__id = WebSocket.__nextId++;
- WebSocket.__instances[e.__id] = e;
- e.readyState = WebSocket.CONNECTING;
- e.bufferedAmount = 0;
- e.__events = {};
- b ? "string" == typeof b && (b = [b]) : b = [];
- setTimeout(function() {
- WebSocket.__addTask(function() {
- WebSocket.__flash.create(e.__id,
- a, b, c || null, d || 0, f || null)
- })
- }, 0)
- }, WebSocket.prototype.send = function(a) {
- if (this.readyState == WebSocket.CONNECTING) throw "INVALID_STATE_ERR: Web Socket connection has not been established";
- a = WebSocket.__flash.send(this.__id, encodeURIComponent(a));
- if (0 > a) return !0;
- this.bufferedAmount += a;
- return !1
- }, WebSocket.prototype.close = function() {
- this.readyState != WebSocket.CLOSED && this.readyState != WebSocket.CLOSING && (this.readyState = WebSocket.CLOSING, WebSocket.__flash.close(this.__id))
- }, WebSocket.prototype.addEventListener =
- function(a, b, c) {
- a in this.__events || (this.__events[a] = []);
- this.__events[a].push(b)
- }, WebSocket.prototype.removeEventListener = function(a, b, c) {
- if (a in this.__events)
- for (a = this.__events[a], c = a.length - 1; 0 <= c; --c)
- if (a[c] === b) {
- a.splice(c, 1);
- break
- }
- }, WebSocket.prototype.dispatchEvent = function(a) {
- console.log("dispatch event arg", a);
- for (var b = this.__events[a.type] || [], c = 0; c < b.length; ++c) b[c](a);
- (b = this["on" + a.type]) && b(a)
- }, WebSocket.prototype.__handleEvent = function(a) {
- console.log("handle event arg", a);
- "readyState" in a && (this.readyState = a.readyState);
- "protocol" in a && (this.protocol =
- a.protocol);
- if ("open" == a.type || "error" == a.type) a = this.__createSimpleEvent(a.type);
- else if ("close" == a.type) a = this.__createSimpleEvent("close");
- else if ("message" == a.type) a = decodeURIComponent(a.message), a = this.__createMessageEvent("message", a);
- else throw "unknown event type: " + a.type;
- this.dispatchEvent(a)
- }, WebSocket.prototype.__createSimpleEvent = function(a) {
- if (document.createEvent && window.Event) {
- var b = document.createEvent("Event");
- b.initEvent(a, !1, !1);
- return b
- }
- return {
- type: a,
- bubbles: !1,
- cancelable: !1
- }
- },
- WebSocket.prototype.__createMessageEvent = function(a, b) {
- if (document.createEvent && window.MessageEvent && !window.opera) {
- var c = document.createEvent("MessageEvent");
- c.initMessageEvent("message", !1, !1, b, null, null, window, null);
- return c
- }
- return {
- type: a,
- data: b,
- bubbles: !1,
- cancelable: !1
- }
- }, WebSocket.CONNECTING = 0, WebSocket.OPEN = 1, WebSocket.CLOSING = 2, WebSocket.CLOSED = 3, WebSocket.__flash = null, WebSocket.__instances = {}, WebSocket.__tasks = [], WebSocket.__nextId = 0, WebSocket.loadFlashPolicyFile = function(a) {
- WebSocket.__addTask(function() {
- WebSocket.__flash.loadManualPolicyFile(a)
- })
- },
- WebSocket.__initialize = function() {
- if (!WebSocket.__flash)
- if (WebSocket.__swfLocation && (window.WEB_SOCKET_SWF_LOCATION = WebSocket.__swfLocation), window.WEB_SOCKET_SWF_LOCATION) {
- var a = document.createElement("div");
- a.id = "webSocketContainer";
- a.style.position = "absolute";
- WebSocket.__isFlashLite() ? (a.style.left = "0px", a.style.top = "0px") : (a.style.left = "-100px", a.style.top = "-100px");
- var b = document.createElement("div");
- b.id = "webSocketFlash";
- a.appendChild(b);
- document.body.appendChild(a);
- x.embedSWF(WEB_SOCKET_SWF_LOCATION,
- "webSocketFlash", "1", "1", "10.0.0", null, null, {
- hasPriority: !0,
- swliveconnect: !0,
- allowScriptAccess: "always"
- }, null,
- function(a) {
- a.success || d.error("[WebSocket] swfobject.embedSWF failed")
- })
- } else d.error("[WebSocket] set WEB_SOCKET_SWF_LOCATION to location of WebSocketMain.swf")
- }, WebSocket.__onFlashInitialized = function() {
- setTimeout(function() {
- WebSocket.__flash = document.getElementById("webSocketFlash");
- WebSocket.__flash.setCallerUrl(location.href);
- WebSocket.__flash.setDebug(!!window.WEB_SOCKET_DEBUG);
- for (var a =
- 0; a < WebSocket.__tasks.length; ++a) WebSocket.__tasks[a]();
- WebSocket.__tasks = []
- }, 0)
- }, WebSocket.__onFlashEvent = function() {
- setTimeout(function() {
- try {
- for (var a = WebSocket.__flash.receiveEvents(), b = 0; b < a.length; ++b) WebSocket.__instances[a[b].webSocketId].__handleEvent(a[b])
- } catch (c) {
- d.error(c)
- }
- }, 0);
- return !0
- }, WebSocket.__log = function(a) {
- d.log(decodeURIComponent(a))
- }, WebSocket.__error = function(a) {
- d.error(decodeURIComponent(a))
- }, WebSocket.__addTask = function(a) {
- WebSocket.__flash ? a() : WebSocket.__tasks.push(a)
- },
- WebSocket.__isFlashLite = function() {
- if (!window.navigator || !window.navigator.mimeTypes) return !1;
- var a = window.navigator.mimeTypes["application/x-shockwave-flash"];
- return a && a.enabledPlugin && a.enabledPlugin.filename ? a.enabledPlugin.filename.match(/flashlite/i) ? !0 : !1 : !1
- }, window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION || (window.addEventListener ? window.addEventListener("load", function() {
- WebSocket.__initialize()
- }, !1) : window.attachEvent("onload", function() {
- WebSocket.__initialize()
- }))) : d.error("Flash Player >= 10.0.0 is required.")
- }
- })();
- (function(d, a, b) {
- function c(b) {
- b && (a.Transport.apply(this, arguments), this.sendBuffer = [])
- }
-
- function g() {}
- d.XHR = c;
- a.util.inherit(c, a.Transport);
- c.prototype.open = function() {
- this.socket.setBuffer(!1);
- this.onOpen();
- this.get();
- this.setCloseTimeout();
- return this
- };
- c.prototype.payload = function(b) {
- for (var c = [], d = 0, g = b.length; d < g; d++) c.push(a.parser.encodePacket(b[d]));
- this.send(a.parser.encodePayload(c))
- };
- c.prototype.send = function(a) {
- this.post(a);
- return this
- };
- c.prototype.post = function(a) {
- function c() {
- if (4 ==
- this.readyState)
- if (this.onreadystatechange = g, m.posting = !1, 200 == this.status) m.socket.setBuffer(!1);
- else m.onClose()
- }
-
- function d() {
- this.onload = g;
- m.socket.setBuffer(!1)
- }
- var m = this;
- this.socket.setBuffer(!0);
- this.sendXHR = this.request("POST");
- b.XDomainRequest && this.sendXHR instanceof XDomainRequest ? this.sendXHR.onload = this.sendXHR.onerror = d : this.sendXHR.onreadystatechange = c;
- this.sendXHR.send(a)
- };
- c.prototype.close = function() {
- this.onClose();
- return this
- };
- c.prototype.request = function(b) {
- var c = a.util.request(this.socket.isXDomain()),
- d = a.util.query(this.socket.options.query, "t=" + +new Date);
- c.open(b || "GET", this.prepareUrl() + d, !0);
- if ("POST" == b) try {
- c.setRequestHeader ? c.setRequestHeader("Content-type", "text/plain;charset=UTF-8") : c.contentType = "text/plain"
- } catch (g) {}
- return c
- };
- c.prototype.scheme = function() {
- return this.socket.options.secure ? "https" : "http"
- };
- c.check = function(c, e) {
- try {
- var d = a.util.request(e),
- g = b.XDomainRequest && d instanceof XDomainRequest,
- r = c && c.options && c.options.secure ? "https:" : "http:",
- p = b.location && r != b.location.protocol;
- if (d && (!g || !p)) return !0
- } catch (n) {}
- return !1
- };
- c.xdomainCheck = function(a) {
- return c.check(a, !0)
- }
- })("undefined" != typeof io ? io.Transport : module.exports, "undefined" != typeof io ? io : module.parent.exports, this);
- (function(d, a) {
- function b(b) {
- a.Transport.XHR.apply(this, arguments)
- }
- d.htmlfile = b;
- a.util.inherit(b, a.Transport.XHR);
- b.prototype.name = "htmlfile";
- b.prototype.get = function() {
- this.doc = new(window[["Active"].concat("Object").join("X")])("htmlfile");
- this.doc.open();
- this.doc.write("<html></html>");
- this.doc.close();
- this.doc.parentWindow.s = this;
- var b = this.doc.createElement("div");
- b.className = "socketio";
- this.doc.body.appendChild(b);
- this.iframe = this.doc.createElement("iframe");
- b.appendChild(this.iframe);
- var d = this,
- b = a.util.query(this.socket.options.query, "t=" + +new Date);
- this.iframe.src = this.prepareUrl() + b;
- a.util.on(window, "unload", function() {
- d.destroy()
- })
- };
- b.prototype._ = function(a, b) {
- a = a.replace(/\\\//g, "/");
- this.onData(a);
- try {
- var f = b.getElementsByTagName("script")[0];
- f.parentNode.removeChild(f)
- } catch (e) {}
- };
- b.prototype.destroy =
- function() {
- if (this.iframe) {
- try {
- this.iframe.src = "about:blank"
- } catch (a) {}
- this.doc = null;
- this.iframe.parentNode.removeChild(this.iframe);
- this.iframe = null;
- CollectGarbage()
- }
- };
- b.prototype.close = function() {
- this.destroy();
- return a.Transport.XHR.prototype.close.call(this)
- };
- b.check = function(b) {
- if ("undefined" != typeof window && ["Active"].concat("Object").join("X") in window) try {
- return new(window[["Active"].concat("Object").join("X")])("htmlfile"), a.Transport.XHR.check(b)
- } catch (d) {}
- return !1
- };
- b.xdomainCheck = function() {
- return !1
- };
- a.transports.push("htmlfile")
- })("undefined" != typeof io ? io.Transport : module.exports, "undefined" != typeof io ? io : module.parent.exports);
- (function(d, a, b) {
- function c() {
- a.Transport.XHR.apply(this, arguments)
- }
-
- function g() {}
- d["xhr-polling"] = c;
- a.util.inherit(c, a.Transport.XHR);
- a.util.merge(c, a.Transport.XHR);
- c.prototype.name = "xhr-polling";
- c.prototype.heartbeats = function() {
- return !1
- };
- c.prototype.open = function() {
- a.Transport.XHR.prototype.open.call(this);
- return !1
- };
- c.prototype.get = function() {
- function a() {
- if (4 == this.readyState)
- if (this.onreadystatechange =
- g, 200 == this.status) m.onData(this.responseText), m.get();
- else m.onClose()
- }
-
- function c() {
- this.onerror = this.onload = g;
- m.retryCounter = 1;
- m.onData(this.responseText);
- m.get()
- }
-
- function d() {
- m.retryCounter++;
- if (!m.retryCounter || 3 < m.retryCounter) m.onClose();
- else m.get()
- }
- if (this.isOpen) {
- var m = this;
- this.xhr = this.request();
- b.XDomainRequest && this.xhr instanceof XDomainRequest ? (this.xhr.onload = c, this.xhr.onerror = d) : this.xhr.onreadystatechange = a;
- this.xhr.send(null)
- }
- };
- c.prototype.onClose = function() {
- a.Transport.XHR.prototype.onClose.call(this);
- if (this.xhr) {
- this.xhr.onreadystatechange = this.xhr.onload = this.xhr.onerror = g;
- try {
- this.xhr.abort()
- } catch (b) {}
- this.xhr = null
- }
- };
- c.prototype.ready = function(b, c) {
- var d = this;
- a.util.defer(function() {
- c.call(d)
- })
- };
- a.transports.push("xhr-polling")
- })("undefined" != typeof io ? io.Transport : module.exports, "undefined" != typeof io ? io : module.parent.exports, this);
- (function(d, a, b) {
- function c(b) {
- a.Transport["xhr-polling"].apply(this, arguments);
- this.index = a.j.length;
- var c = this;
- a.j.push(function(a) {
- c._(a)
- })
- }
- var g = b.document &&
- "MozAppearance" in b.document.documentElement.style;
- d["jsonp-polling"] = c;
- a.util.inherit(c, a.Transport["xhr-polling"]);
- c.prototype.name = "jsonp-polling";
- c.prototype.post = function(b) {
- function c() {
- d();
- g.socket.setBuffer(!1)
- }
-
- function d() {
- g.iframe && g.form.removeChild(g.iframe);
- try {
- w = document.createElement('<iframe name="' + g.iframeId + '">')
- } catch (a) {
- w = document.createElement("iframe"), w.name = g.iframeId
- }
- w.id = g.iframeId;
- g.form.appendChild(w);
- g.iframe = w
- }
- var g = this,
- r = a.util.query(this.socket.options.query, "t=" +
- +new Date + "&i=" + this.index);
- if (!this.form) {
- var p = document.createElement("form"),
- n = document.createElement("textarea"),
- v = this.iframeId = "socketio_iframe_" + this.index,
- w;
- p.className = "socketio";
- p.style.position = "absolute";
- p.style.top = "0px";
- p.style.left = "0px";
- p.style.display = "none";
- p.target = v;
- p.method = "POST";
- p.setAttribute("accept-charset", "utf-8");
- n.name = "d";
- p.appendChild(n);
- document.body.appendChild(p);
- this.form = p;
- this.area = n
- }
- this.form.action = this.prepareUrl() + r;
- d();
- this.area.value = a.JSON.stringify(b);
- try {
- this.form.submit()
- } catch (t) {}
- this.iframe.attachEvent ? w.onreadystatechange = function() {
- "complete" == g.iframe.readyState && c()
- } : this.iframe.onload = c;
- this.socket.setBuffer(!0)
- };
- c.prototype.get = function() {
- var b = this,
- c = document.createElement("script"),
- d = a.util.query(this.socket.options.query, "t=" + +new Date + "&i=" + this.index);
- this.script && (this.script.parentNode.removeChild(this.script), this.script = null);
- c.async = !0;
- c.src = this.prepareUrl() + d;
- c.onerror = function() {
- b.onClose()
- };
- d = document.getElementsByTagName("script")[0];
- d.parentNode.insertBefore(c, d);
- this.script = c;
- g && setTimeout(function() {
- var a = document.createElement("iframe");
- document.body.appendChild(a);
- document.body.removeChild(a)
- }, 100)
- };
- c.prototype._ = function(a) {
- this.onData(a);
- this.isOpen && this.get();
- return this
- };
- c.prototype.ready = function(b, c) {
- var d = this;
- if (!g) return c.call(this);
- a.util.load(function() {
- c.call(d)
- })
- };
- c.check = function() {
- return "document" in b
- };
- c.xdomainCheck = function() {
- return !0
- };
- a.transports.push("jsonp-polling")
- })("undefined" != typeof io ? io.Transport :
- module.exports, "undefined" != typeof io ? io : module.parent.exports, this);
- "function" === typeof define && define.amd && define([], function() {
- return io
- })
- })();