448 lines
15 KiB
HTML
448 lines
15 KiB
HTML
<!DOCTYPE html>
|
|
<!-- saved from url=(0103)https://assets.aliexpress-media.com/g/ae-fe/store-proxy-html/0.0.1/store-proxy2.html?iframe_delete=true -->
|
|
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
|
<script>
|
|
(function () {
|
|
var JSON;
|
|
return (
|
|
JSON || (JSON = {}),
|
|
(function () {
|
|
'use strict';
|
|
function f(e) {
|
|
return e < 10 ? '0' + e : e;
|
|
}
|
|
function quote(e) {
|
|
return (
|
|
(escapable.lastIndex = 0),
|
|
escapable.test(e)
|
|
? '"' +
|
|
e.replace(escapable, function (e) {
|
|
var t = meta[e];
|
|
return typeof t == 'string'
|
|
? t
|
|
: '\\u' + ('0000' + e.charCodeAt(0).toString(16)).slice(-4);
|
|
}) +
|
|
'"'
|
|
: '"' + e + '"'
|
|
);
|
|
}
|
|
function str(e, t) {
|
|
var n,
|
|
r,
|
|
i,
|
|
s,
|
|
o = gap,
|
|
u,
|
|
a = t[e];
|
|
a && typeof a == 'object' && typeof a.toJSON == 'function' && (a = a.toJSON(e)),
|
|
typeof rep == 'function' && (a = rep.call(t, e, a));
|
|
switch (typeof a) {
|
|
case 'string':
|
|
return quote(a);
|
|
case 'number':
|
|
return isFinite(a) ? String(a) : 'null';
|
|
case 'boolean':
|
|
case 'null':
|
|
return String(a);
|
|
case 'object':
|
|
if (!a) return 'null';
|
|
(gap += indent), (u = []);
|
|
if (Object.prototype.toString.apply(a) === '[object Array]') {
|
|
s = a.length;
|
|
for (n = 0; n < s; n += 1) u[n] = str(n, a) || 'null';
|
|
return (
|
|
(i =
|
|
u.length === 0
|
|
? '[]'
|
|
: gap
|
|
? '[\n' + gap + u.join(',\n' + gap) + '\n' + o + ']'
|
|
: '[' + u.join(',') + ']'),
|
|
(gap = o),
|
|
i
|
|
);
|
|
}
|
|
if (rep && typeof rep == 'object') {
|
|
s = rep.length;
|
|
for (n = 0; n < s; n += 1)
|
|
typeof rep[n] == 'string' &&
|
|
((r = rep[n]),
|
|
(i = str(r, a)),
|
|
i && u.push(quote(r) + (gap ? ': ' : ':') + i));
|
|
} else
|
|
for (r in a)
|
|
Object.prototype.hasOwnProperty.call(a, r) &&
|
|
((i = str(r, a)), i && u.push(quote(r) + (gap ? ': ' : ':') + i));
|
|
return (
|
|
(i =
|
|
u.length === 0
|
|
? '{}'
|
|
: gap
|
|
? '{\n' + gap + u.join(',\n' + gap) + '\n' + o + '}'
|
|
: '{' + u.join(',') + '}'),
|
|
(gap = o),
|
|
i
|
|
);
|
|
}
|
|
}
|
|
typeof Date.prototype.toJSON != 'function' &&
|
|
((Date.prototype.toJSON = function (e) {
|
|
return isFinite(this.valueOf())
|
|
? this.getUTCFullYear() +
|
|
'-' +
|
|
f(this.getUTCMonth() + 1) +
|
|
'-' +
|
|
f(this.getUTCDate()) +
|
|
'T' +
|
|
f(this.getUTCHours()) +
|
|
':' +
|
|
f(this.getUTCMinutes()) +
|
|
':' +
|
|
f(this.getUTCSeconds()) +
|
|
'Z'
|
|
: null;
|
|
}),
|
|
(String.prototype.toJSON =
|
|
Number.prototype.toJSON =
|
|
Boolean.prototype.toJSON =
|
|
function (e) {
|
|
return this.valueOf();
|
|
}));
|
|
var cx =
|
|
/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
|
|
escapable =
|
|
/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
|
|
gap,
|
|
indent,
|
|
meta = {
|
|
'\b': '\\b',
|
|
'\t': '\\t',
|
|
'\n': '\\n',
|
|
'\f': '\\f',
|
|
'\r': '\\r',
|
|
'"': '\\"',
|
|
'\\': '\\\\',
|
|
},
|
|
rep;
|
|
typeof JSON.stringify != 'function' &&
|
|
(JSON.stringify = function (e, t, n) {
|
|
var r;
|
|
(gap = ''), (indent = '');
|
|
if (typeof n == 'number') for (r = 0; r < n; r += 1) indent += ' ';
|
|
else typeof n == 'string' && (indent = n);
|
|
rep = t;
|
|
if (
|
|
!t ||
|
|
typeof t == 'function' ||
|
|
(typeof t == 'object' && typeof t.length == 'number')
|
|
)
|
|
return str('', { '': e });
|
|
throw new Error('JSON.stringify');
|
|
}),
|
|
typeof JSON.parse != 'function' &&
|
|
(JSON.parse = function (text, reviver) {
|
|
function walk(e, t) {
|
|
var n,
|
|
r,
|
|
i = e[t];
|
|
if (i && typeof i == 'object')
|
|
for (n in i)
|
|
Object.prototype.hasOwnProperty.call(i, n) &&
|
|
((r = walk(i, n)), r !== undefined ? (i[n] = r) : delete i[n]);
|
|
return reviver.call(e, t, i);
|
|
}
|
|
var j;
|
|
(text = String(text)),
|
|
(cx.lastIndex = 0),
|
|
cx.test(text) &&
|
|
(text = text.replace(cx, function (e) {
|
|
return '\\u' + ('0000' + e.charCodeAt(0).toString(16)).slice(-4);
|
|
}));
|
|
if (
|
|
/^[\],:{}\s]*$/.test(
|
|
text
|
|
.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
|
|
.replace(
|
|
/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
|
|
']',
|
|
)
|
|
.replace(/(?:^|:|,)(?:\s*\[)+/g, ''),
|
|
)
|
|
)
|
|
return (
|
|
(j = eval('(' + text + ')')),
|
|
typeof reviver == 'function' ? walk({ '': j }, '') : j
|
|
);
|
|
throw new SyntaxError('JSON.parse');
|
|
});
|
|
})(),
|
|
(this.JSON = JSON)
|
|
);
|
|
})();
|
|
|
|
(function () {
|
|
function a() {
|
|
try {
|
|
return i in n && n[i];
|
|
} catch (e) {
|
|
return !1;
|
|
}
|
|
}
|
|
function f() {
|
|
try {
|
|
return s in n && n[s] && n[s][n.location.hostname];
|
|
} catch (e) {
|
|
return !1;
|
|
}
|
|
}
|
|
var e = {},
|
|
n = window,
|
|
r = n.document,
|
|
i = 'localStorage',
|
|
s = 'globalStorage',
|
|
o = '__storejs__',
|
|
u;
|
|
(e.disabled = !1),
|
|
(e.set = function (e, t) {}),
|
|
(e.get = function (e) {}),
|
|
(e.remove = function (e) {}),
|
|
(e.clear = function () {}),
|
|
(e.transact = function (t, n, r) {
|
|
var i = e.get(t);
|
|
r == null && ((r = n), (n = null)),
|
|
typeof i == 'undefined' && (i = n || {}),
|
|
r(i),
|
|
e.set(t, i);
|
|
}),
|
|
(e.getAll = function () {}),
|
|
(e.serialize = function (e) {
|
|
return JSON.stringify(e);
|
|
}),
|
|
(e.deserialize = function (e) {
|
|
if (typeof e != 'string') return undefined;
|
|
try {
|
|
return JSON.parse(e);
|
|
} catch (t) {
|
|
return e || undefined;
|
|
}
|
|
});
|
|
if (a())
|
|
(u = n[i]),
|
|
(e.set = function (t, n) {
|
|
return n === undefined ? e.remove(t) : (u.setItem(t, e.serialize(n)), n);
|
|
}),
|
|
(e.get = function (t) {
|
|
return e.deserialize(u.getItem(t));
|
|
}),
|
|
(e.remove = function (e) {
|
|
u.removeItem(e);
|
|
}),
|
|
(e.clear = function () {
|
|
u.clear();
|
|
}),
|
|
(e.getAll = function () {
|
|
var t = {};
|
|
for (var n = 0; n < u.length; ++n) {
|
|
var r = u.key(n);
|
|
t[r] = e.get(r);
|
|
}
|
|
return t;
|
|
});
|
|
else if (f())
|
|
(u = n[s][n.location.hostname]),
|
|
(e.set = function (t, n) {
|
|
return n === undefined ? e.remove(t) : ((u[t] = e.serialize(n)), n);
|
|
}),
|
|
(e.get = function (t) {
|
|
return e.deserialize(u[t] && u[t].value);
|
|
}),
|
|
(e.remove = function (e) {
|
|
delete u[e];
|
|
}),
|
|
(e.clear = function () {
|
|
for (var e in u) delete u[e];
|
|
}),
|
|
(e.getAll = function () {
|
|
var t = {};
|
|
for (var n = 0; n < u.length; ++n) {
|
|
var r = u.key(n);
|
|
t[r] = e.get(r);
|
|
}
|
|
return t;
|
|
});
|
|
else if (r.documentElement.addBehavior) {
|
|
var l, c;
|
|
try {
|
|
(c = new ActiveXObject('htmlfile')),
|
|
c.open(),
|
|
c.write(
|
|
'<sc' + 'ript>document.w=window</scr' + 'ipt><iframe src="/favicon.ico"></frame>',
|
|
),
|
|
c.close(),
|
|
(l = c.w.frames[0].document),
|
|
(u = l.createElement('div'));
|
|
} catch (h) {
|
|
(u = r.createElement('div')), (l = r.body);
|
|
}
|
|
function p(t) {
|
|
return function () {
|
|
var n = Array.prototype.slice.call(arguments, 0);
|
|
n.unshift(u), l.appendChild(u), u.addBehavior('#default#userData'), u.load(i);
|
|
var r = t.apply(e, n);
|
|
return l.removeChild(u), r;
|
|
};
|
|
}
|
|
var d = new RegExp('[!"#$%&\'()*+,/\\\\:;<=>?@[\\]^`{|}~]', 'g');
|
|
function v(e) {
|
|
return e.replace(d, '___');
|
|
}
|
|
(e.set = p(function (t, n, r) {
|
|
return (
|
|
(n = v(n)),
|
|
r === undefined ? e.remove(n) : (t.setAttribute(n, e.serialize(r)), t.save(i), r)
|
|
);
|
|
})),
|
|
(e.get = p(function (t, n) {
|
|
return (n = v(n)), e.deserialize(t.getAttribute(n));
|
|
})),
|
|
(e.remove = p(function (e, t) {
|
|
(t = v(t)), e.removeAttribute(t), e.save(i);
|
|
})),
|
|
(e.clear = p(function (e) {
|
|
var t = e.XMLDocument.documentElement.attributes;
|
|
e.load(i);
|
|
for (var n = 0, r; (r = t[n]); n++) e.removeAttribute(r.name);
|
|
e.save(i);
|
|
})),
|
|
(e.getAll = p(function (t) {
|
|
var n = t.XMLDocument.documentElement.attributes;
|
|
t.load(i);
|
|
var r = {};
|
|
for (var s = 0, o; (o = n[s]); ++s) r[o] = e.get(o);
|
|
return r;
|
|
}));
|
|
}
|
|
try {
|
|
e.set(o, o), e.get(o) != o && (e.disabled = !0), e.remove(o);
|
|
} catch (h) {
|
|
e.disabled = !0;
|
|
}
|
|
(e.enabled = !e.disabled),
|
|
typeof t != 'undefined' && typeof t != 'function'
|
|
? (t.exports = e)
|
|
: typeof define == 'function' && define.amd
|
|
? define(e)
|
|
: (this.store = e);
|
|
})();
|
|
|
|
var Messenger = (function () {
|
|
function n(e, t) {
|
|
var n = '';
|
|
arguments.length < 2
|
|
? (n = 'target error - target and name are both required')
|
|
: typeof e != 'object'
|
|
? (n = 'target error - target itself must be window object')
|
|
: typeof t != 'string' && (n = 'target error - target name must be string type');
|
|
if (n) throw new Error(n);
|
|
(this.target = e), (this.name = t);
|
|
}
|
|
function r(t, n) {
|
|
(this.targets = {}),
|
|
(this.name = t),
|
|
(this.listenFunc = []),
|
|
(e = n || e),
|
|
this.initListen();
|
|
}
|
|
var e = 'icbu-messenger',
|
|
t = 'postMessage' in window;
|
|
return (
|
|
t
|
|
? (n.prototype.send = function (t) {
|
|
this.target.postMessage(e + t, '*');
|
|
})
|
|
: (n.prototype.send = function (t) {
|
|
var n = window.navigator[e + this.name];
|
|
if (typeof n != 'function')
|
|
throw new Error('target callback function is not defined');
|
|
n(e + t, window);
|
|
}),
|
|
(r.prototype.addTarget = function (e, t) {
|
|
var r = new n(e, t);
|
|
this.targets[t] = r;
|
|
}),
|
|
(r.prototype.initListen = function () {
|
|
var n = this,
|
|
r = function (t) {
|
|
typeof t == 'object' && t.data && (t = t.data),
|
|
(t = t.slice ? t.slice(e.length) : t);
|
|
for (var r = 0; r < n.listenFunc.length; r++) n.listenFunc[r](t);
|
|
};
|
|
t
|
|
? 'addEventListener' in document
|
|
? window.addEventListener('message', r, !1)
|
|
: 'attachEvent' in document && window.attachEvent('onmessage', r)
|
|
: (window.navigator[e + this.name] = r);
|
|
}),
|
|
(r.prototype.listen = r.prototype.on =
|
|
function (e) {
|
|
this.listenFunc.push(e);
|
|
}),
|
|
(r.prototype.clear = function () {
|
|
this.listenFunc = [];
|
|
}),
|
|
(r.prototype.send = function (e) {
|
|
var t = this.targets,
|
|
n;
|
|
for (n in t) t.hasOwnProperty(n) && t[n].send(e);
|
|
}),
|
|
r
|
|
);
|
|
})();
|
|
|
|
(function () {
|
|
var messenger = new Messenger('proxy', 'store-proxy');
|
|
messenger.addTarget(window.parent, 'parent');
|
|
|
|
var spe2c = '-_-';
|
|
var spe2p = 'T_T';
|
|
messenger.listen(function (msg) {
|
|
if (!msg.split) {
|
|
return;
|
|
}
|
|
var tmp = msg.split(spe2c);
|
|
|
|
var op = tmp[0];
|
|
var key, value;
|
|
|
|
if (op === 'set') {
|
|
key = tmp[1];
|
|
value = tmp.splice(2, tmp.length - 2).join(spe2c);
|
|
} else {
|
|
key = tmp[1];
|
|
}
|
|
|
|
var rst, err;
|
|
|
|
try {
|
|
switch (op) {
|
|
case 'set':
|
|
store.set(key, value);
|
|
break;
|
|
case 'get':
|
|
rst = store.get(key);
|
|
break;
|
|
case 'remove':
|
|
store.remove(key);
|
|
break;
|
|
}
|
|
} catch (e) {
|
|
err = e.message;
|
|
}
|
|
|
|
messenger.targets['parent'].send([msg, err, rst].join(spe2p));
|
|
});
|
|
})();
|
|
</script>
|
|
</head>
|
|
<body>
|
|
|
|
</body></html> |