mirror of
https://github.com/wu736139669/vczero.github.io.git
synced 2026-08-05 06:23:38 +00:00
387 lines
7.8 KiB
JavaScript
387 lines
7.8 KiB
JavaScript
define('lib/LAB', function() {
|
|
var o = window;
|
|
var K = o.$LAB,
|
|
y = "UseLocalXHR",
|
|
z = "AlwaysPreserveOrder",
|
|
u = "AllowDuplicates",
|
|
A = "CacheBust",
|
|
B = "BasePath",
|
|
C = /^[^?#]*\//.exec(location.href)[0],
|
|
D = /^\w+\:\/\/\/?[^\/]+/.exec(C)[0],
|
|
i = document.head || document.getElementsByTagName("head"),
|
|
L = (o.opera && Object.prototype.toString.call(o.opera) == "[object Opera]") || ("MozAppearance" in document.documentElement.style),
|
|
q = document.createElement("script"),
|
|
E = typeof q.preload == "boolean",
|
|
r = E || (q.readyState && q.readyState == "uninitialized"),
|
|
F = !r && q.async === true,
|
|
M = !r && !F && !L;
|
|
|
|
function G(a) {
|
|
return Object.prototype.toString.call(a) == "[object Function]"
|
|
}
|
|
|
|
function H(a) {
|
|
return Object.prototype.toString.call(a) == "[object Array]"
|
|
}
|
|
|
|
function N(a, c) {
|
|
var b = /^\w+\:\/\//;
|
|
if (/^\/\/\/?/.test(a)) {
|
|
a = location.protocol + a
|
|
} else if (!b.test(a) && a.charAt(0) != "/") {
|
|
a = (c || "") + a
|
|
}
|
|
return b.test(a) ? a : ((a.charAt(0) == "/" ? D : C) + a)
|
|
}
|
|
|
|
function s(a, c) {
|
|
for (var b in a) {
|
|
if (a.hasOwnProperty(b)) {
|
|
c[b] = a[b]
|
|
}
|
|
}
|
|
return c
|
|
}
|
|
|
|
function O(a) {
|
|
var c = false;
|
|
for (var b = 0; b < a.scripts.length; b++) {
|
|
if (a.scripts[b].ready && a.scripts[b].exec_trigger) {
|
|
c = true;
|
|
a.scripts[b].exec_trigger();
|
|
a.scripts[b].exec_trigger = null
|
|
}
|
|
}
|
|
return c
|
|
}
|
|
|
|
function t(a, c, b, d) {
|
|
a.onload = a.onreadystatechange = function() {
|
|
if ((a.readyState && a.readyState != "complete" && a.readyState != "loaded") || c[b]) return;
|
|
a.onload = a.onreadystatechange = null;
|
|
d()
|
|
}
|
|
}
|
|
|
|
function I(a) {
|
|
a.ready = a.finished = true;
|
|
for (var c = 0; c < a.finished_listeners.length; c++) {
|
|
a.finished_listeners[c]()
|
|
}
|
|
a.ready_listeners = [];
|
|
a.finished_listeners = []
|
|
}
|
|
|
|
function P(d, f, e, g, h) {
|
|
setTimeout(function() {
|
|
var a, c = f.real_src,
|
|
b;
|
|
if ("item" in i) {
|
|
if (!i[0]) {
|
|
setTimeout(arguments.callee, 25);
|
|
return
|
|
}
|
|
i = i[0]
|
|
}
|
|
a = document.createElement("script");
|
|
if (f.type) a.type = f.type;
|
|
if (f.charset) a.charset = f.charset;
|
|
if (h) {
|
|
if (r) {
|
|
e.elem = a;
|
|
if (E) {
|
|
a.preload = true;
|
|
a.onpreload = g
|
|
} else {
|
|
a.onreadystatechange = function() {
|
|
if (a.readyState == "loaded") g()
|
|
}
|
|
}
|
|
a.src = c
|
|
} else if (h && c.indexOf(D) == 0 && d[y]) {
|
|
b = new XMLHttpRequest();
|
|
b.onreadystatechange = function() {
|
|
if (b.readyState == 4) {
|
|
b.onreadystatechange = function() {};
|
|
e.text = b.responseText + "\n//@ sourceURL=" + c;
|
|
g()
|
|
}
|
|
};
|
|
b.open("GET", c);
|
|
b.send()
|
|
} else {
|
|
a.type = "text/cache-script";
|
|
t(a, e, "ready", function() {
|
|
i.removeChild(a);
|
|
g()
|
|
});
|
|
a.src = c;
|
|
i.insertBefore(a, i.firstChild)
|
|
}
|
|
} else if (F) {
|
|
a.async = false;
|
|
t(a, e, "finished", g);
|
|
a.src = c;
|
|
i.insertBefore(a, i.firstChild)
|
|
} else {
|
|
t(a, e, "finished", g);
|
|
a.src = c;
|
|
i.insertBefore(a, i.firstChild)
|
|
}
|
|
}, 0)
|
|
}
|
|
|
|
function J() {
|
|
var l = {},
|
|
Q = r || M,
|
|
n = [],
|
|
p = {},
|
|
m;
|
|
l[y] = true;
|
|
l[z] = false;
|
|
l[u] = false;
|
|
l[A] = false;
|
|
l[B] = "";
|
|
|
|
function R(a, c, b) {
|
|
var d;
|
|
|
|
function f() {
|
|
if (d != null) {
|
|
d = null;
|
|
I(b)
|
|
}
|
|
}
|
|
if (p[c.src].finished) return;
|
|
if (!a[u]) p[c.src].finished = true;
|
|
d = b.elem || document.createElement("script");
|
|
if (c.type) d.type = c.type;
|
|
if (c.charset) d.charset = c.charset;
|
|
t(d, b, "finished", f);
|
|
if (b.elem) {
|
|
b.elem = null
|
|
} else if (b.text) {
|
|
d.onload = d.onreadystatechange = null;
|
|
d.text = b.text
|
|
} else {
|
|
d.src = c.real_src
|
|
}
|
|
i.insertBefore(d, i.firstChild);
|
|
if (b.text) {
|
|
f()
|
|
}
|
|
}
|
|
|
|
function S(c, b, d, f) {
|
|
var e, g, h = function() {
|
|
b.ready_cb(b, function() {
|
|
R(c, b, e)
|
|
})
|
|
},
|
|
j = function() {
|
|
b.finished_cb(b, d)
|
|
};
|
|
b.src = N(b.src, c[B]);
|
|
b.real_src = b.src + (c[A] ? ((/\?.*$/.test(b.src) ? "&_" : "?_") + ~~(Math.random() * 1E9) + "=") : "");
|
|
if (!p[b.src]) p[b.src] = {
|
|
items: [],
|
|
finished: false
|
|
};
|
|
g = p[b.src].items;
|
|
if (c[u] || g.length == 0) {
|
|
e = g[g.length] = {
|
|
ready: false,
|
|
finished: false,
|
|
ready_listeners: [h],
|
|
finished_listeners: [j]
|
|
};
|
|
P(c, b, e, ((f) ? function() {
|
|
e.ready = true;
|
|
for (var a = 0; a < e.ready_listeners.length; a++) {
|
|
e.ready_listeners[a]()
|
|
}
|
|
e.ready_listeners = []
|
|
} : function() {
|
|
I(e)
|
|
}), f)
|
|
} else {
|
|
e = g[0];
|
|
if (e.finished) {
|
|
j()
|
|
} else {
|
|
e.finished_listeners.push(j)
|
|
}
|
|
}
|
|
}
|
|
|
|
function v() {
|
|
var e, g = s(l, {}),
|
|
h = [],
|
|
j = 0,
|
|
w = false,
|
|
k;
|
|
|
|
function T(a, c) {
|
|
a.ready = true;
|
|
a.exec_trigger = c;
|
|
x()
|
|
}
|
|
|
|
function U(a, c) {
|
|
a.ready = a.finished = true;
|
|
a.exec_trigger = null;
|
|
for (var b = 0; b < c.scripts.length; b++) {
|
|
if (!c.scripts[b].finished) return
|
|
}
|
|
c.finished = true;
|
|
x()
|
|
}
|
|
|
|
function x() {
|
|
while (j < h.length) {
|
|
if (G(h[j])) {
|
|
try {
|
|
h[j++]()
|
|
} catch (err) {}
|
|
continue
|
|
} else if (!h[j].finished) {
|
|
if (O(h[j])) continue;
|
|
break
|
|
}
|
|
j++
|
|
}
|
|
if (j == h.length) {
|
|
w = false;
|
|
k = false
|
|
}
|
|
}
|
|
|
|
function V() {
|
|
if (!k || !k.scripts) {
|
|
h.push(k = {
|
|
scripts: [],
|
|
finished: true
|
|
})
|
|
}
|
|
}
|
|
e = {
|
|
script: function() {
|
|
for (var f = 0; f < arguments.length; f++) {
|
|
(function(a, c) {
|
|
var b;
|
|
if (!H(a)) {
|
|
c = [a]
|
|
}
|
|
for (var d = 0; d < c.length; d++) {
|
|
V();
|
|
a = c[d];
|
|
if (G(a)) a = a();
|
|
if (!a) continue;
|
|
if (H(a)) {
|
|
b = [].slice.call(a);
|
|
b.unshift(d, 1);
|
|
[].splice.apply(c, b);
|
|
d--;
|
|
continue
|
|
}
|
|
if (typeof a == "string") a = {
|
|
src: a
|
|
};
|
|
a = s(a, {
|
|
ready: false,
|
|
ready_cb: T,
|
|
finished: false,
|
|
finished_cb: U
|
|
});
|
|
k.finished = false;
|
|
k.scripts.push(a);
|
|
S(g, a, k, (Q && w));
|
|
w = true;
|
|
if (g[z]) e.wait()
|
|
}
|
|
})(arguments[f], arguments[f])
|
|
}
|
|
return e
|
|
},
|
|
wait: function() {
|
|
if (arguments.length > 0) {
|
|
for (var a = 0; a < arguments.length; a++) {
|
|
h.push(arguments[a])
|
|
}
|
|
k = h[h.length - 1]
|
|
} else k = false;
|
|
x();
|
|
return e
|
|
}
|
|
};
|
|
return {
|
|
script: e.script,
|
|
wait: e.wait,
|
|
setOptions: function(a) {
|
|
s(a, g);
|
|
return e
|
|
}
|
|
}
|
|
}
|
|
m = {
|
|
setGlobalDefaults: function(a) {
|
|
s(a, l);
|
|
return m
|
|
},
|
|
setOptions: function() {
|
|
return v().setOptions.apply(null, arguments)
|
|
},
|
|
script: function() {
|
|
return v().script.apply(null, arguments)
|
|
},
|
|
wait: function() {
|
|
return v().wait.apply(null, arguments)
|
|
},
|
|
queueScript: function() {
|
|
n[n.length] = {
|
|
type: "script",
|
|
args: [].slice.call(arguments)
|
|
};
|
|
return m
|
|
},
|
|
queueWait: function() {
|
|
n[n.length] = {
|
|
type: "wait",
|
|
args: [].slice.call(arguments)
|
|
};
|
|
return m
|
|
},
|
|
runQueue: function() {
|
|
var a = m,
|
|
c = n.length,
|
|
b = c,
|
|
d;
|
|
for (; --b >= 0;) {
|
|
d = n.shift();
|
|
a = a[d.type].apply(null, d.args)
|
|
}
|
|
return a
|
|
},
|
|
noConflict: function() {
|
|
o.$LAB = K;
|
|
return m
|
|
},
|
|
sandbox: function() {
|
|
return J()
|
|
}
|
|
};
|
|
return m
|
|
}
|
|
o.$LAB = J();
|
|
(function(a, c, b) {
|
|
if (document.readyState == null && document[a]) {
|
|
document.readyState = "loading";
|
|
document[a](c, b = function() {
|
|
document.removeEventListener(c, b, false);
|
|
document.readyState = "complete"
|
|
}, false)
|
|
}
|
|
})("addEventListener", "DOMContentLoaded")
|
|
|
|
return o.$LAB;
|
|
}); |