efront 3.35.14 → 3.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/#/345/233/275/351/231/205/345/214/226.yml +137 -0
  2. package/apps/blank/index.html +1 -21
  3. package/apps/blank/main.js +1 -1
  4. package/apps/kugou/singer/keywords.less +1 -0
  5. package/apps/pivot/auth/login.html +3 -3
  6. package/apps/sciters/main.js +31 -0
  7. package/coms/basic/#loader.js +3 -4
  8. package/coms/basic/i18n.js +27 -0
  9. package/coms/basic/i18n.md +10 -0
  10. package/coms/basic/parseYML.js +1 -0
  11. package/coms/basic/refilm_decode.js +2 -1
  12. package/coms/basic/strings.js +3 -3
  13. package/coms/compile/Javascript.js +1 -20
  14. package/coms/compile/common.js +22 -0
  15. package/coms/compile/translate.js +136 -0
  16. package/coms/compile/wraphtml.js +3 -0
  17. package/coms/docs/md5.js +174 -0
  18. package/coms/frame/route.js +1 -1
  19. package/coms/zimoli/XMLHttpRequest.js +33 -1
  20. package/coms/zimoli/alert.js +1 -1
  21. package/coms/zimoli/appendChild.js +2 -1
  22. package/coms/zimoli/button.less +1 -0
  23. package/coms/zimoli/createEvent.js +8 -3
  24. package/coms/zimoli/cross.js +1 -1
  25. package/coms/zimoli/cross_test.js +8 -2
  26. package/coms/zimoli/forceUpdate.js +2 -6
  27. package/coms/zimoli/list.js +1 -1
  28. package/coms/zimoli/on.js +4 -2
  29. package/coms/zimoli/render.js +5 -2
  30. package/coms/zimoli/transition.js +4 -5
  31. package/coms/zimoli/tree.js +5 -3
  32. package/coms/zimoli/zimoli.js +3 -3
  33. package/docs/index.html +1 -12
  34. package/docs/main.xht +2 -1
  35. package/docs//345/267/245/345/205/267//345/233/275/351/231/205/345/214/226.xht +576 -0
  36. package/package.json +1 -1
  37. package/public/efront.js +1 -1
  38. package/readme.md +1 -1
  39. package/coms/zimoli/i18n.js +0 -192
@@ -0,0 +1,174 @@
1
+ function md5(string) {
2
+
3
+ function RotateLeft(lValue, iShiftBits) {
4
+ return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
5
+ }
6
+
7
+ function AddUnsigned(lX,lY) {
8
+ var lX4,lY4,lX8,lY8,lResult;
9
+ lX8 = (lX & 0x80000000);
10
+ lY8 = (lY & 0x80000000);
11
+ lX4 = (lX & 0x40000000);
12
+ lY4 = (lY & 0x40000000);
13
+ lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
14
+ if (lX4 & lY4) {
15
+ return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
16
+ }
17
+ if (lX4 | lY4) {
18
+ if (lResult & 0x40000000) {
19
+ return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
20
+ } else {
21
+ return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
22
+ }
23
+ } else {
24
+ return (lResult ^ lX8 ^ lY8);
25
+ }
26
+ }
27
+
28
+ function F(x,y,z) { return (x & y) | ((~x) & z); }
29
+ function G(x,y,z) { return (x & z) | (y & (~z)); }
30
+ function H(x,y,z) { return (x ^ y ^ z); }
31
+ function I(x,y,z) { return (y ^ (x | (~z))); }
32
+
33
+ function FF(a,b,c,d,x,s,ac) {
34
+ a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
35
+ return AddUnsigned(RotateLeft(a, s), b);
36
+ };
37
+
38
+ function GG(a,b,c,d,x,s,ac) {
39
+ a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
40
+ return AddUnsigned(RotateLeft(a, s), b);
41
+ };
42
+
43
+ function HH(a,b,c,d,x,s,ac) {
44
+ a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
45
+ return AddUnsigned(RotateLeft(a, s), b);
46
+ };
47
+
48
+ function II(a,b,c,d,x,s,ac) {
49
+ a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
50
+ return AddUnsigned(RotateLeft(a, s), b);
51
+ };
52
+
53
+ function ConvertToWordArray(codes) {
54
+ var lWordCount;
55
+ var lMessageLength = codes.length;
56
+ var lNumberOfWords_temp1=lMessageLength + 8;
57
+ var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
58
+ var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
59
+ var lWordArray=Array(lNumberOfWords-1);
60
+ var lBytePosition = 0;
61
+ var lByteCount = 0;
62
+ while ( lByteCount < lMessageLength ) {
63
+ lWordCount = (lByteCount-(lByteCount % 4))/4;
64
+ lBytePosition = (lByteCount % 4)*8;
65
+ lWordArray[lWordCount] = (lWordArray[lWordCount] | (codes[lByteCount]<<lBytePosition));
66
+ lByteCount++;
67
+ }
68
+ lWordCount = (lByteCount-(lByteCount % 4))/4;
69
+ lBytePosition = (lByteCount % 4)*8;
70
+ lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
71
+ lWordArray[lNumberOfWords-2] = lMessageLength<<3;
72
+ lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
73
+ return lWordArray;
74
+ };
75
+
76
+ function WordToHex(lValue) {
77
+ var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
78
+ for (lCount = 0;lCount<=3;lCount++) {
79
+ lByte = (lValue>>>(lCount*8)) & 255;
80
+ WordToHexValue_temp = "0" + lByte.toString(16);
81
+ WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
82
+ }
83
+ return WordToHexValue;
84
+ };
85
+
86
+ var x=Array();
87
+ var k,AA,BB,CC,DD,a,b,c,d;
88
+ var S11=7, S12=12, S13=17, S14=22;
89
+ var S21=5, S22=9 , S23=14, S24=20;
90
+ var S31=4, S32=11, S33=16, S34=23;
91
+ var S41=6, S42=10, S43=15, S44=21;
92
+
93
+ string = encodeUTF8(string);
94
+
95
+ x = ConvertToWordArray(string);
96
+
97
+ a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
98
+
99
+ for (k=0;k<x.length;k+=16) {
100
+ AA=a; BB=b; CC=c; DD=d;
101
+ a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
102
+ d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
103
+ c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
104
+ b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
105
+ a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
106
+ d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
107
+ c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
108
+ b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
109
+ a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
110
+ d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
111
+ c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
112
+ b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
113
+ a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
114
+ d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
115
+ c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
116
+ b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
117
+ a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
118
+ d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
119
+ c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
120
+ b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
121
+ a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
122
+ d=GG(d,a,b,c,x[k+10],S22,0x2441453);
123
+ c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
124
+ b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
125
+ a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
126
+ d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
127
+ c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
128
+ b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
129
+ a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
130
+ d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
131
+ c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
132
+ b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
133
+ a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
134
+ d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
135
+ c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
136
+ b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
137
+ a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
138
+ d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
139
+ c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
140
+ b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
141
+ a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
142
+ d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
143
+ c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
144
+ b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
145
+ a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
146
+ d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
147
+ c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
148
+ b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
149
+ a=II(a,b,c,d,x[k+0], S41,0xF4292244);
150
+ d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
151
+ c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
152
+ b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
153
+ a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
154
+ d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
155
+ c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
156
+ b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
157
+ a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
158
+ d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
159
+ c=II(c,d,a,b,x[k+6], S43,0xA3014314);
160
+ b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
161
+ a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
162
+ d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
163
+ c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
164
+ b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
165
+ a=AddUnsigned(a,AA);
166
+ b=AddUnsigned(b,BB);
167
+ c=AddUnsigned(c,CC);
168
+ d=AddUnsigned(d,DD);
169
+ }
170
+
171
+ var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
172
+
173
+ return temp.toLowerCase();
174
+ }
@@ -171,7 +171,7 @@
171
171
  zimoli.go(menu);
172
172
  return result;
173
173
  };
174
- on("zimoli")(window, function (event) {
174
+ on("zimoli")(document, function (event) {
175
175
  var { zimoli } = event;
176
176
  data.setInstance("option-buttons", zimoli.options || [], false);
177
177
  var menu = getChild(zimoli);
@@ -1 +1,33 @@
1
- this.XMLHttpRequest || this.ActiveXObject.bind(null, 'Microsoft.XMLHTTP')
1
+ if (this.XMLHttpRequest) return this.XMLHttpRequest;
2
+ if (this.ActiveXObject) return this.ActiveXObject.bind(null, 'Microsoft.XMLHTTP');
3
+ if (!this.fetch) return;
4
+ var window = this;
5
+ return class XMLHttpRequest {
6
+ onload = null;
7
+ onerror = null;
8
+ onreadystatechange = null;
9
+ readyState = 0;
10
+ fetch = window.fetch;
11
+ open(method, url) {
12
+ this.readyState = 1;
13
+ this.method = method;
14
+ this.url = url;
15
+ }
16
+ send(data) {
17
+ var u = new URL(this.url);
18
+ if (!u.host) u.host = location.host || 'localhost'
19
+ this.fetch(this.url, { method: this.method }).then(d => {
20
+
21
+ this.fetched = d;
22
+ this.readyState = 4;
23
+ this.status = d.status;
24
+ this.responseText = d.text();
25
+ if (this.onreadystatechange) this.onreadystatechange({ target: this });
26
+ if (this.onload) this.onload({ target: this });
27
+ }, e => {
28
+ this.readyState = 4;
29
+ if (this.onreadystatechange) this.onreadystatechange({ target: this });
30
+ if (this.onerror) this.onerror({ target: this });
31
+ });
32
+ }
33
+ }
@@ -26,7 +26,7 @@ var _text = function (bgcolor, parameters) {
26
26
  var box = div();
27
27
  css(box, `top:${fromPixel(alerts.length ? Math.max.apply(Math, alerts.map(e => e.offsetTop + e.children[0].offsetHeight)) : 0)};height:0;line-height:${fromPixel(singleHeight - 20)};left:0;right:0;font-size:${fromPixel(fontSize)}; transition: all 0.2s ease-out;position:absolute;text-align:center;`);
28
28
  box.innerHTML = `<div style='width: 720px;white-space:pre-wrap;max-width:100%;display:inline-block;height:auto;padding:${fromPixel(10)} ${fromPixel(20)};background-color:${bgcolor};color:${color.pair(bgcolor, 1)};'>${[].slice.call(parameters, 0).join(", ")}</div>`;
29
- box.initialStyle = `margin:-${fromPixel(singleHeight)} auto;opacity:0;`;
29
+ box.initialStyle = `margin-top:-${fromPixel(singleHeight)};opacity:0;`;
30
30
  return box;
31
31
  };
32
32
  function alert() {
@@ -10,7 +10,8 @@ function hasEnterStyle(e) {
10
10
 
11
11
  function _onappend(node, append = createEvent("append"), mount = createEvent("mounted")) {
12
12
  if (node.isMounted) return;
13
- if (node.nodeType === 1 || node.nodeType === 8) node.isMounted = true;
13
+ node.isMounted = true;
14
+ if (node.nodeType !== 1 && node.nodeType !== 8) return;
14
15
  dispatch(node, append);
15
16
  var children = Array.apply(null, node.childNodes);
16
17
  for (var c of children) {
@@ -16,6 +16,7 @@
16
16
  text-align: center;
17
17
  overflow: hidden;
18
18
  outline: none;
19
+ appearance: none;
19
20
  user-select: none;
20
21
  }
21
22
 
@@ -1,12 +1,17 @@
1
1
  /**
2
2
  * 创建自定义事件
3
3
  */
4
- var createEvent = "createEvent" in document ? function createEvent(eventName, canBubble = false, cancelable = true) {
4
+ if ("createEvent" in document) var createEvent = function createEvent(eventName, canBubble = false, cancelable = true) {
5
5
  var event = document.createEvent("Event");
6
6
  event.initEvent(eventName, canBubble, cancelable);
7
7
  return event;
8
- } : function createEventObject(eventName) {
8
+ }
9
+ else if ("createEventObject" in document) var createEvent = function createEventObject(eventName) {
9
10
  var event = document.createEventObject();
10
11
  event.type = eventName;
11
12
  return event;
12
- };
13
+ }
14
+ else var Event = window.Event, createEvent = function (eventName) {
15
+ var event = new Event(eventName);
16
+ return event;
17
+ }
@@ -72,4 +72,4 @@ cross.addCookie = function (cookie_text, dp) {
72
72
  cross.delCookies = function (dp) {
73
73
  return cookie.delCookies(dp);
74
74
  };
75
- if (cross_host) cross.setHost(cross_host);
75
+ if (cross_host) cross.setHost(cross_host);
@@ -1,4 +1,10 @@
1
- function main() {
1
+ async function main() {
2
2
  cross.addDirect('//baidu.com/');
3
- cross("fpost", 'http://baidu.com').data({ a: 1 }).done(console.log);
3
+ try{
4
+ var xhr = await cross("fpost", 'http://baidu.com');
5
+ console.log(xhr.responseText);
6
+ }
7
+ catch(e){
8
+ console.error(String(e));
9
+ }
4
10
  }
@@ -1,9 +1,6 @@
1
1
  var { window, location, preventCache = true, parseInt, navigator, Date } = this;
2
2
  var start_time = +new Date / 1000 | 0;
3
- while (true) {
4
- if (!preventCache) {
5
- break;
6
- }
3
+ if (preventCache && navigator) {
7
4
 
8
5
  var page_time = location.search.replace(/^.*?[\?&]\=([^&]+).*?$/i, "$1");
9
6
  page_time = parseInt(page_time, 36) || 0;
@@ -21,7 +18,6 @@ while (true) {
21
18
  } else {
22
19
  search = "=" + mark_time.toString(36);
23
20
  }
24
- if (!/Safari|Firefox/.test(navigator.userAgent)) location.replace(location.pathname + "?" + search);
21
+ if (!/Safari|Firefox|Sciter/.test(navigator.userAgent)) location.replace(location.pathname + "?" + search);
25
22
  }
26
- break;
27
23
  }
@@ -618,7 +618,7 @@ function list() {
618
618
  }
619
619
  var savedSrc = [];
620
620
  if (bindSrc === true) care(container, function (src, old) {
621
- if (container.refresh) return;
621
+ if (container.src !== src) return;
622
622
  var index = container.index();
623
623
  if (src !== old) container.clean(), index = 0;
624
624
  else container.clean(src, savedSrc);
package/coms/zimoli/on.js CHANGED
@@ -268,7 +268,7 @@ var remove = function (k, hk, [eventtypes, handler, context]) {
268
268
  }
269
269
  if (!hs.length && hs.h) {
270
270
  element[hk] = null;
271
- if (is_addEventListener_enabled) {
271
+ if (element.removeEventListener) {
272
272
  element.removeEventListener(k, hs.h, getListenerOption(eventtypes, k));
273
273
  } else {
274
274
  if (element["on" + k] === hs.h) element["on" + k] = null;
@@ -354,7 +354,9 @@ var on = document.efronton = function (k) {
354
354
  var h = broadcast.bind(target, k, hk);
355
355
  target[hk] = [];
356
356
  target[hk].h = h;
357
- target.addEventListener(k, h, getListenerOption(eventtypes, k));
357
+ if (target.addEventListener)
358
+ target.addEventListener(k, h, getListenerOption(eventtypes, k));
359
+ else target[on_event_path] = h;
358
360
  }
359
361
  var listener = [eventtypes, handler, context];
360
362
  append.call(target, k, hk, listener, firstmost);
@@ -753,7 +753,6 @@ function renderElement(element, scope = element.$scope, parentScopes = element.$
753
753
  }
754
754
  element.$parentScopes = parentScopes || [];
755
755
  var s = createStructure(element);
756
-
757
756
  if (isEmpty(s.once)) s.once = once;
758
757
  element.$eval = $eval;
759
758
  }
@@ -888,7 +887,11 @@ function createStructure(element) {
888
887
  if (isArrayLike(element)) return Array.prototype.map.call(element, createStructure);
889
888
  if (element.$struct) return element.$struct;
890
889
  // 处理结构流
891
- var attrs = Array.apply(null, element.attributes);
890
+ var attributes = element.attributes;
891
+ var attrs = Array.apply(null, attributes);
892
+ if (attributes.length && !attributes[0]) {
893
+ for (var cx = 0, dx = attributes.length; cx < dx; cx++) attrs[cx] = attributes.item(cx);
894
+ }
892
895
  var types = {};
893
896
  var emiter_reg = /^(?:(v|ng|on|once)?\-|v\-on\:|@|once|on)/i;
894
897
  var ons = [];
@@ -97,12 +97,11 @@ function 帧样式(style, captureStyle, point) {
97
97
  function InnerStyle(o) {
98
98
  for (var k in o) {
99
99
  var v = o[k];
100
- this[css.transformNodeKey(k)] = css.transformValue(v);
100
+ this[css.transformNodeKey(k)] = css.transformValue(v, k);
101
101
  }
102
102
  }
103
103
 
104
104
  var transitionKey = css.transformNodeKey("transition");
105
-
106
105
  function transition(target, _isLeave, _initialStyle) {
107
106
  if (!target) return;
108
107
  if ((isObject(_isLeave) || typeof _isLeave === "string") && (isFinite(_initialStyle) || !_initialStyle)) {
@@ -140,13 +139,13 @@ function transition(target, _isLeave, _initialStyle) {
140
139
  clearTimeout(transitionTimerEnd);
141
140
  var transitionDuration = 100;
142
141
  if (!initialStyle[transitionKey]) {
143
- initialStyle[transitionKey] = "all .3s ease";
142
+ initialStyle[transitionKey] = Object.keys(initialStyle).map(k => k.replace(/[A-Z]/g, a => "-" + a.toLowerCase()) + " .3s ease").join(",");
144
143
  transitionDuration = 300;
145
144
  }
146
- String(initialStyle[transitionKey]).replace(/([\.\d]+)(m?)s/gi, function (m, d, t) {
145
+ initialStyle[transitionKey] = String(initialStyle[transitionKey]).replace(/([\.\d]+)(m?)s/gi, function (m, d, t) {
147
146
  if (t) transitionDuration = Math.max(+d, transitionDuration);
148
147
  else transitionDuration = Math.max(d * 1000, transitionDuration);
149
- return m;
148
+ return transitionDuration + "ms";
150
149
  });
151
150
  transitionDuration = transitionDuration || 260;
152
151
  if (!recoverStyle) recoverStyle = {};
@@ -48,6 +48,11 @@ function tree() {
48
48
  clearTimeout(timer);
49
49
  timer = setTimeout(call, time);
50
50
  };
51
+ care(element, function () {
52
+ banner.setData(this.src);
53
+ this.src = root;
54
+ });
55
+
51
56
  var banner = list(element, function (index) {
52
57
  var coms = dom;
53
58
  if (index >= coms.length) return;
@@ -233,9 +238,6 @@ function tree() {
233
238
  root = new Tree(src);
234
239
  refresh();
235
240
  };
236
- care(banner, function () {
237
- this.setData(this.src);
238
- });
239
241
  banner.addData = function (data, parent = root) {
240
242
  appendTo(parent, data);
241
243
  refresh();
@@ -5,7 +5,7 @@
5
5
  //main
6
6
  var body = document.body;
7
7
  var onbacks = [];
8
- var window_history = window.history;
8
+ var window_history = window.history || { length: 0, go() { }, back() { } };
9
9
  var window_history_length = window_history.length;
10
10
  var sessionSavedHashKey = "__zimoli_session_init_hash" + location.pathname;
11
11
  var sessionInitHash = sessionStorage.getItem(sessionSavedHashKey);
@@ -168,7 +168,7 @@ function go(pagepath, args, history_name, oldpagepath) {
168
168
  id,
169
169
  options
170
170
  };
171
- dispatch(window, event);
171
+ dispatch(document, event);
172
172
  fullfill_is_dispatched = 0;
173
173
  }
174
174
  addGlobal(_page, history_name, isDestroy);
@@ -411,7 +411,7 @@ function create(pagepath, args, from, needroles) {
411
411
  if (!user.isLogin && user.loginPath) {
412
412
  return create(user.loginPath);
413
413
  }
414
- return alert(i18n("没有权限!", "No Access!"), 0);
414
+ return alert(i18n`没有权限!`, 0);
415
415
  }
416
416
  _with_elements = [].concat(_with_elements);
417
417
  state.with = function (element) {
package/docs/index.html CHANGED
@@ -33,18 +33,7 @@
33
33
  box-sizing: border-box;
34
34
  }
35
35
  </style>
36
- <script deleteoncompile>
37
- -function (body, window) {
38
- body.removeChild(body.getElementsByTagName("script")[0]);
39
- var xhr = new (window.XMLHttpRequest || ActiveXObject)('Microsoft.XMLHTTP');
40
- xhr.onreadystatechange = function () {
41
- if (xhr.readyState === 4) {
42
- new Function(xhr.responseText).call(window);
43
- }
44
- };
45
- xhr.open('POST', 'comm/main');
46
- xhr.send("step into my sight..");
47
- }.call(this, document.documentElement.children[0], this);
36
+ <script efrontloader deleteoncompile>
48
37
  </script>
49
38
  </head>
50
39
 
package/docs/main.xht CHANGED
@@ -95,7 +95,8 @@
95
95
  name: "小工具",
96
96
  closed: true,
97
97
  children: [
98
- "字符集检查"
98
+ "字符集检查",
99
+ "国际化",
99
100
  ].map(a => ({ name: a, path: "/工具/" + a }))
100
101
  }
101
102
  ];