JS地址:https://res.cdn.openinstall.io/openinstall.js
谁能把这端JS解析出来。
保证你看两行头晕了。
谁能把这端JS解析出来。
保证你看两行头晕了。
解决方案 »
- .innerHTML含有JS代码 Chrome 浏览器不支持
- 请问怎么实现类似搜狗网址导航里面的 “百度\google的搜索框”?
- jquery怎么阻止后绑定的事件
- 成员方法里面调用protype里的函数,生成多个对象时,prototype里的函数是否被复制?
- 求一款博客类型的日期控件
- 求一个正则表达式!急!!!!在线等!
- 梅花雨日历 今天以前的不能选应该怎么设置
- dom获取所有子节点内容
- 想自己制作浏览器!!!!!
- 用javascrip怎样定位本地的一个目录,我想用java在本地创建一个excel文件,但也须先确定要把文件创建到哪里,谢谢啊
- 关于JS的作用域,值传递的问题
- 移动端web开发 安卓app 物理返回 关闭页面弹窗
function r() {
this.arr = [], this.run = function(e) {
this.arr ? this.arr[this.arr.length] = e : e()
}, this.isReady = function() {
return null == this.arr
}, this.ready = function() {
if (null != this.arr)
for (var e = 0; e < this.arr.length; e++) this.arr[e]();
this.arr = null
}
} function i(e) {
var t = [];
for (var n in e) {
var r = e[n];
if ("[object Array]" == Object.prototype.toString.call(r))
for (var i = 0; i < r.length; i++) null != r[i] && "undefined" != typeof r[i] && t.push(encodeURIComponent(n) + "=" + encodeURIComponent(r[i]));
else null != r && "undefined" != typeof r && t.push(encodeURIComponent(n) + "=" + encodeURIComponent(r))
}
return t.join("&")
} function a(e) {
var t = new n,
r = e.data,
i = e.url,
a = e.method;
i = i.indexOf("?") > -1 ? i + "&v=" + l : i + "?v=" + l, r && "string" != typeof r && (r = y.stringify(r)), "POST" != a && r && (i = i + (i.indexOf("?") > -1 ? "&" : "?") + r, r = null), t.onreadystatechange = function() {
if (t.readyState == ("number" == typeof n.DONE ? n.DONE : 4)) {
if (200 == t.status) {
var r = t.response || t.responseText || {};
e.success && e.success("string" == typeof r ? y.parse(r) : r)
} else e.error && e.error(t, t.statusText);
e.complete && e.complete(t)
}
}, t.open(a, i, !0), t.ontimeout = function() {
e.error && e.error(t, t.statusText)
}, t.timeout = e.timeout || 0, t.setRequestHeader && t.setRequestHeader("Content-Type", "application/json;charset=utf-8"), t.withCredentials = (e.xhrFields || {}).withCredentials, t.send(r)
} function o() {
var e = t.createElement("canvas");
if (e && "function" == typeof e.getContext)
for (var n = ["webgl", "webgl2", "experimental-webgl2", "experimental-webgl"], r = 0; r < n.length; r++) {
var i = n[r],
a = e.getContext(i);
if (a) {
var o = {};
o.context = i, o.version = a.getParameter(a.VERSION), o.vendor = a.getParameter(a.VENDOR), o.sl_version = a.getParameter(a.SHADING_LANGUAGE_VERSION), o.max_texture_size = a.getParameter(a.MAX_TEXTURE_SIZE);
var c = a.getExtension("WEBGL_debug_renderer_info");
return c && (o.vendor = a.getParameter(c.UNMASKED_VENDOR_WEBGL), o.renderer = a.getParameter(c.UNMASKED_RENDERER_WEBGL)), o
}
}
return {}
} function c(n, l) {
function u(e, n) {
var r, i, a = "android" == R.platform && "qq" == R.brower;
a = !1, a ? (r = "hidden", i = "qbrowserVisibilityChange") : "undefined" != typeof t.hidden ? (r = "hidden", i = "visibilitychange") : "undefined" != typeof t.msHidden ? (r = "msHidden", i = "msvisibilitychange") : "undefined" != typeof t.webkitHidden && (r = "webkitHidden", i = "webkitvisibilitychange");
var o = function(e) {
return a && e && "undefined" != typeof e.hidden ? e.hidden : t[r]
},
c = setTimeout(function() {
null == c || o() || (e(), c = null)
}, n);
i && t.addEventListener(i, function(e) {
null != c && o(e) && (clearTimeout(c), c = null)
}, !1)
} function y(e, t, n, r) {
"function" == typeof n && u(n, r), L[e](t)
} function m(e) {
var n = t.createElement("div");
return n.innerHTML = e, n = n.children[0], n.onclick = function() {
t.body.removeChild(n)
}, n
} function g(n, r, i) {
var a = "ex",
o = "ecC",
c = "ommand",
l = "co",
u = "py",
d = a + o + c,
s = l + u;
if ("function" != typeof t[d]) return !1;
var p = t.createElement("div");
p.innerHTML = n;
for (var v = [], y = 0; y < p.children.length; y++) v[y] = p.children[y];
for (var m, g, b = !1, C = r ? r + ((new Date).getTime() + 1e3 * (i || 1)) + "-" : null, y = 0; y < v.length; y++) try {
if (m = v[y], t.body.appendChild(m), "SELECT" === m.nodeName) m.focus();
else if ("INPUT" === m.nodeName || "TEXTAREA" === m.nodeName) {
C && (m.value = f(h(m.value) + C));
var E = m.hasAttribute("readonly");
E || m.setAttribute("readonly", ""), m.select(), m.setSelectionRange(0, m.value.length), E || m.removeAttribute("readonly")
} else {
m.hasAttribute("contenteditable") && m.focus(), C && m.setAttribute("class", C), g = e.getSelection();
var w = t.createRange();
w.selectNode(m), g.removeAllRanges(), g.addRange(w)
}
b = t[d](s), t.body.removeChild(m)
} catch (R) {
t.body.removeChild(m), b = !1
}
return g && g.removeAllRanges(), b
} function b() {
return R.apkUrl && "function" == typeof n.apkDownloadHandler ? void n.apkDownloadHandler(R.apkUrl) : void(R.fallbackUrl ? (A && u(function() {
t.body.appendChild(A)
}, 400), L[R.fallbackMethod](R.fallbackUrl)) : A && t.body.appendChild(A))
} function C(e, t, n) {
p(function() {
D.run(function() {
var r = t ? b : null;
if (n = n || {}, t && R.soi && (e = !0), R.pb && t && g(s(R.pb), s(R.ypp), parseInt(s(R.yps) || "0")), R.schemaUrl && e) {
var i = n.timeout || R.wt;
y(R.schemaMethod, R.schemaUrl, r, i)
} else r && r()
})
})
} function E(e, t) {
P && (clearTimeout(P), P = null);
var n = c.server + "/bind/" + I + "?" + i(e);
a({
url: n,
method: "POST",
xhrFields: {
withCredentials: !0
},
data: t,
success: function(n) {
R = w(n || {}), n.shadow && (A = m(n.shadow)), D.ready(), R.ttl && (P = setTimeout(function() {
E(e, t)
}, 1e3 * R.ttl))
}
})
} function w(e) {
var t = {
sm: "schemaMethod",
st: "schemaTimeout",
fm: "fallbackMethod",
au: "apkUrl",
acl: "allowClickLog",
p: "pb"
};
for (var n in e) {
var r = t[n];
r && (e[r] = e[n], delete e[n])
}
return e
}
n = n || {};
var R, A, O, x, S, k, T = n.channelCode || c.parseUrlParams().channelCode;
T && T.constructor == Array && (T = T[T.length - 1]);
var I = n.appKey,
D = new r,
N = this;
if (!I) return void alert("appKey not specified");
"function" == typeof n.onready && D.run(function() {
n.onready.call(N)
}), n.buttonId && D.run(function() {
for (var e = n.buttonId.split(" "), r = 0; r < e.length; r++) {
var i = t.getElementById(e[r]);
i && i.addEventListener("click", function() {
N.wakeupOrInstall()
})
}
});
try {
O = e.screen.width || "", x = e.screen.height || "", k = e.devicePixelRatio || "", S = o()
} catch (U) {}
var P, L = {
frm: function(e) {
var n = t.createElement("iframe");
n.style.display = "none", n.style.visibility = "hidden", n.src = e, t.body.appendChild(n)
},
loc: function(t) {
e.location = t
},
hrf: function(e) {
var n = t.createElement("a");
n.style.display = "none", n.href = e, t.body.appendChild(n), n.click()
},
inhrf: function(e) {
var n = t.createElement("script");
n.setAttribute("type", "text/javascript"), n.innerHTML = '(function(){var a = document.createElement("a");a.style.display = "none";a.href = "' + e.replace(/"/g, '\\"') + '";document.body.appendChild(a);a.click();})()', t.body.appendChild(n)
},
open: function(t) {
e.open(t)
}
};
this.wakeupOrInstall = function(e) {
C(!1, !0, e)
}, this.schemeWakeup = function(e) {
C(!0, !1, e)
}, this.install = this.wakeupOrInstall, v(function(t) {
for (var r = 0, t = t || [], i = t.length; i > r; r++) t[r] = d(t[r] || "");
var a = {
channelCode: T,
sw: d("" + (O || 0)),
sh: d("" + (x || 0)),
sp: k,
gv: d(S.version || ""),
gr: d(S.renderer || ""),
li: t,
c: n._channelRedirect ? 1 : 0,
apk: n.apkFileName,
pw: n.preferWakeup ? 1 : 0,
rf: d(e.location.href),
t: (new Date).getTime()
};
E(a, l)
})
}
var l = 2,
u = function() {
function e(e) {
var t, n, r, a, o = -1,
c = e.length,
l = [0, 0, 0, 0];
for (t = []; ++o < c;) n = e[o], r = e[++o], l[0] = n >> 2, l[1] = (3 & n) << 4 | (r || 0) >> 4, o >= c ? l[2] = l[3] = 64 : (a = e[++o], l[2] = (15 & r) << 2 | (a || 0) >> 6, l[3] = o >= c ? 64 : 63 & a), t.push(i.charAt(l[0]), i.charAt(l[1]), i.charAt(l[2]), i.charAt(l[3]));
return t.join("")
} function t(e) {
for (var t, n, r, a, o, c, l, u = [], d = 0; d < e.length;) a = i.indexOf(e.charAt(d++)), o = i.indexOf(e.charAt(d++)), c = i.indexOf(e.charAt(d++)), l = i.indexOf(e.charAt(d++)), t = a << 2 | o >> 4, n = (15 & o) << 4 | c >> 2, r = (3 & c) << 6 | l, u.push(t), 64 != c && u.push(n), 64 != l && u.push(r);
return u
} function n(e) {
var t, n = -1,
r = e.length,
i = [];
if (/^[\x00-\x7f]*$/.test(e))
for (; ++n < r;) i.push(e.charCodeAt(n));
else
for (; ++n < r;) t = e.charCodeAt(n), 128 > t ? i.push(t) : 2048 > t ? i.push(t >> 6 | 192, 63 & t | 128) : i.push(t >> 12 | 224, t >> 6 & 63 | 128, 63 & t | 128);
return i
}
function r(e) {
var t, n, r, i = [],
a = 0;
for (t = n = r = 0; a < e.length;) t = e[a], 128 > t ? (i.push(String.fromCharCode(t)), a++) : t > 191 && 224 > t ? (n = e[a + 1], i.push(String.fromCharCode((31 & t) << 6 | 63 & n)), a += 2) : (n = e[a + 1], r = e[a + 2], i.push(String.fromCharCode((15 & t) << 12 | (63 & n) << 6 | 63 & r)), a += 3);
return i.join("")
}
var i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";
return [
function(t) {
if (!t) return "";
for (var r = n(t), i = r.length, a = 0; i > a; a++) r[a] = 150 ^ r[a];
return e(r)
},
function(e) {
if (!e) return "";
for (var n = t(e), i = 0, a = n.length; a > i; i++) n[i] = 150 ^ n[i];
return r(n)
},
function(t) {
return t ? e(n(t)) : ""
},
function(e) {
return e ? r(t(e)) : ""
}
]
}(),
d = u[0],
s = u[1],
f = u[2],
h = u[3],
p = function() {
"use strict"; function n() {
if (!a) {
a = !0;
for (var t = 0; t < i.length; t++) i[t].fn.call(e, i[t].ctx);
i = []
}
} function r() {
"complete" === t.readyState && n()
}
var i = [],
a = !1,
o = !1;
return function(c, l) {
return a ? void c(l) : (i.push({
fn: c,
ctx: l
}), void("complete" === t.readyState || !t.attachEvent && "interactive" === t.readyState ? n() : o || (t.addEventListener ? (t.addEventListener("DOMContentLoaded", n, !1), e.addEventListener("load", n, !1)) : (t.attachEvent("onreadystatechange", r), e.attachEvent("onload", n)), o = !0)))
}
}(),
v = function() {
function t() {
s.isReady() || (s.ready(), clearInterval(f), c && c.close())
} function n() {
t()
} function i(e) {
for (var t = e.split("."), n = 0, r = 0; r < t.length; r++) n = n << 8 | 255 & parseInt(t[r]);
return n
} function a(e) {
for (var n, r, a, o, c = e.split("\r\n"), l = 0; l < c.length; l++) {
if (n = c[l], r = n.split(" "), 0 == n.indexOf("a=candidate:") && (a = r[7]) && "host" == a && (o = r[4]));
else if (0 == n.indexOf("a=rtcp:") && (a = r[2]) && "IP4" == a && (o = r[3]));
else if (0 != n.indexOf("c=") || !(a = r[1]) || "IP4" != a || !(o = r[2])) continue;
o && !u[o] && /[0-9]{1,3}(\.[0-9]{1,3}){3}/.test(o) && ("0.0.0.0" == o || 0 == o.indexOf("127.") || 3758096384 == (4026531840 & i(o)) || (u[o] = 1, d.push(o)))
}
d.length && t()
}
var o, c, l, u = {},
d = [],
s = new r,
f = setInterval(function() {
c && c.localDescription && c.localDescription.sdp && l != c.localDescription.sdp && (l = c.localDescription.sdp, a(l))
}, 10);
try {
(o = e.RTCPeerConnection || e.mozRTCPeerConnection || e.webkitRTCPeerConnection) ? (c = new o({
iceServers: []
}, {
optional: [{
RtpDataChannels: !0
}]
}), c.onicecandidate = function(e) {
e.candidate && e.candidate.candidate && a("a=" + e.candidate.candidate)
}, c.createDataChannel("openinstall"), c.createOffer(function(e) {
try {
c.setLocalDescription(e, function() {}, n)
} catch (t) {
n(t)
}
}, n), setTimeout(t, 2e3)) : n("not exists")
} catch (h) {
n(h)
}
return function(e) {
s.run(function() {
e(d.slice(0))
})
}
}(),
y = e.JSON || {
parse: function(e) {
return eval("(" + e + ")")
},
stringify: function() {
var e = Object.prototype.toString,
t = Array.isArray || function(t) {
return "[object Array]" === e.call(t)
},
n = {
'"': '\\"',
"\\": "\\\\",
"\b": "\\b",
"\f": "\\f",
"\n": "\\n",
"\r": "\\r",
" ": "\\t"
},
r = function(e) {
return n[e] || "\\u" + (e.charCodeAt(0) + 65536).toString(16).substr(1)
},
i = /[\\"\u0000-\u001F\u2028\u2029]/g;
return function a(n) {
if (null == n) return "null";
if ("number" == typeof n) return isFinite(n) ? n.toString() : "null";
if ("boolean" == typeof n) return n.toString();
if ("object" == typeof n) {
if ("function" == typeof n.toJSON) return a(n.toJSON());
if (t(n)) {
for (var o = "[", c = 0; c < n.length; c++) o += (c ? ", " : "") + a(n[c]);
return o + "]"
}
if ("[object Object]" === e.call(n)) {
var l = [];
for (var u in n) n.hasOwnProperty(u) && l.push(a(u) + ": " + a(n[u]));
return "{" + l.sort().join(", ") + "}"
}
}
return '"' + n.toString().replace(i, r) + '"'
}
}()
};
return c.channelRedirect = function(e, t) {
new c({
appKey: e,
channelCode: t,
_channelRedirect: !0
}).wakeupOrInstall()
}, c.parseUrlParams = function() {
for (var t = (e.location.search || "?").substring(1).replace(/\+/g, "%20"), n = t.split("&"), r = {}, i = 0; i < n.length; i++) {
var a = n[i].split("="),
o = decodeURIComponent(a[0] || ""),
c = decodeURIComponent(a[1] || "");
o && c && ("undefined" == typeof r[o] ? r[o] = c : "object" == typeof r[o] ? r[o].push(c) : r[o] = [r[o], c])
}
return r
}, c.docReady = p, c.server = "//openinstall.io", c
}(window, document, XMLHttpRequest);