efront 3.33.3 → 3.34.2

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 (65) hide show
  1. package/apps/kugou/icons/kugo.ico +0 -0
  2. package/apps/kugou/icons/kuwo.png +0 -0
  3. package/apps/kugou/icons/qqjt.ico +0 -0
  4. package/apps/kugou/icons/yyyy.ico +0 -0
  5. package/apps/kugou/index.html +2 -1
  6. package/apps/kugou/main.js +4 -0
  7. package/apps/kugou/search/search.html +3 -4
  8. package/apps/kugou/search/search.js +55 -5
  9. package/apps/kugou/search/search.less +3 -0
  10. package/coms/basic/cross_.js +13 -1
  11. package/coms/basic/parseURL.js +2 -2
  12. package/coms/basic/parseURL_test.js +1 -0
  13. package/coms/basic/seek.js +42 -4
  14. package/coms/kugou/api.js +30 -2
  15. package/coms/kugou/buildList.html +1 -1
  16. package/coms/kugou/buildList.js +2 -2
  17. package/coms/kugou/buildScroll.js +1 -1
  18. package/coms/kugou/getSandbox.js +1 -1
  19. package/coms/kugou/krc.js +80 -34
  20. package/coms/kugou/musicList.js +37 -2
  21. package/coms/kugou/page.js +6 -6
  22. package/coms/kugou/playList.html +1 -1
  23. package/coms/kugou/playList.js +0 -1
  24. package/coms/kugou/playList.less +9 -2
  25. package/coms/kugou/player.html +3 -3
  26. package/coms/kugou/player.js +76 -30
  27. package/coms/kugou/qqjc.js +172 -0
  28. package/coms/kugou/song.html +8 -3
  29. package/coms/kugou/song.js +29 -7
  30. package/coms/kugou/song.less +78 -16
  31. package/coms/kugou/yyyc.js +535 -0
  32. package/coms/reptile/colored_console.js +1 -1
  33. package/coms/third-party/crypto.js +6166 -0
  34. package/coms/third-party//344/273/243/347/240/201/346/235/245/346/272/220.txt +1 -0
  35. package/coms/zimoli/Canvas.js +7 -7
  36. package/coms/zimoli/anchor.js +2 -2
  37. package/coms/zimoli/anniu.js +6 -6
  38. package/coms/zimoli/button.js +9 -6
  39. package/coms/zimoli/cloneVisible.js +2 -3
  40. package/coms/zimoli/createElement.js +1 -1
  41. package/coms/zimoli/data.js +8 -5
  42. package/coms/zimoli/dateslider.js +8 -8
  43. package/coms/zimoli/download.js +1 -1
  44. package/coms/zimoli/editor.js +2 -2
  45. package/coms/zimoli/gallery.js +2 -2
  46. package/coms/zimoli/gallery.less +1 -1
  47. package/coms/zimoli/getGenerator.js +1 -6
  48. package/coms/zimoli/group.js +2 -2
  49. package/coms/zimoli/hline.js +1 -1
  50. package/coms/zimoli/icon.js +3 -3
  51. package/coms/zimoli/input.js +2 -2
  52. package/coms/zimoli/label.js +3 -3
  53. package/coms/zimoli/list.js +17 -28
  54. package/coms/zimoli/mask.js +2 -2
  55. package/coms/zimoli/option.js +7 -7
  56. package/coms/zimoli/render.js +1 -0
  57. package/coms/zimoli/selectDate.js +2 -2
  58. package/coms/zimoli/space.js +1 -1
  59. package/coms/zimoli/swap.js +1 -1
  60. package/coms/zimoli/titlebar.js +4 -4
  61. package/coms/zimoli/vbox.js +1 -1
  62. package/coms/zimoli/video.js +1 -1
  63. package/coms/zimoli/zimoli.js +1 -1
  64. package/package.json +1 -1
  65. package/public/efront.js +1 -1
@@ -1,4 +1,5 @@
1
1
  第三方代码来源及日期,后续版本请自行更新
2
+ 2022-12-30 https://npmjs.com/package/crypto-js
2
3
  2022-11-12 https://github.com/kazuhikoarase/qrcode-generator 逻辑有修改 qrcode.js
3
4
  2022-09-29 https://github.com/richtr/NoSleep.js
4
5
  2021-06-15 https://www.npmjs.com/package/html2canvas
@@ -1,18 +1,18 @@
1
- var b = createElement("div");
1
+ var b = document.createElement("div");
2
2
  css(b, "position:absolute;");
3
3
  css(b, {
4
4
  height: 1 + 'px',
5
5
  width: 1 + "px"
6
6
  });
7
7
  var Canvas = function (width, height) {
8
- var canvas = createElement(div);
8
+ var canvas = document.createElement("div");
9
9
  css(canvas, `width:${width * renderPixelRatio}pt;height:${height * renderPixelRatio}pt;position:relative;overflow:hidden;`);
10
- var _canvas = createElement(div);
10
+ var _canvas = document.createElement("div");
11
11
  css(_canvas, `top:50%;left:50%;margin:-${height / 2}px -${width / 2}px;height:${height}px;width:${width}px;position:absolute;overflow:hidden;-webkit-transform:scale(${renderPixelRatio / .75});`);
12
12
  var points = [], context = [];
13
13
  for (var cx = 0; cx < width; cx++) {
14
14
  for (var cy = 0; cy < height; cy++) {
15
- var point = createElement(b);
15
+ var point = b.cloneNode();
16
16
  var style = point.style;
17
17
 
18
18
  style.left = cx + "px";
@@ -26,8 +26,8 @@ var Canvas = function (width, height) {
26
26
  appendChild(canvas, _canvas);
27
27
  return canvas;
28
28
  };
29
- Canvas.prototype={
30
- getContext(){
31
-
29
+ Canvas.prototype = {
30
+ getContext() {
31
+
32
32
  }
33
33
  };
@@ -1,7 +1,7 @@
1
- var a = createElement("a");
1
+ var a = document.createElement("a");
2
2
  attr(a, 'href', "");
3
3
  function anchor(label, href) {
4
- var element = createElement(a);
4
+ var element = a.cloneNode();
5
5
  attr(element, "href", label);
6
6
  if (isString(label)) {
7
7
  text(element, label);
@@ -4,20 +4,20 @@
4
4
  */
5
5
 
6
6
  var userAgent = navigator.userAgent;
7
- var anu = createElement("input");
7
+ var anu = document.createElement("input");
8
8
  if (!/Safari/.test(userAgent) || /Edge/.test(userAgent)) {
9
9
  anu.type = "button";
10
10
  }
11
11
  css(anu, "position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;cursor:default;box-sizing:border-box;border:none;ime-mode:disabled;");
12
- if("ontouchstart" in window){
13
- anu.disabled=true;
14
- if(/android\s+[1-2]\.|MicroMessenger/i.test(userAgent)){
15
- anu.style.display="none";
12
+ if ("ontouchstart" in window) {
13
+ anu.disabled = true;
14
+ if (/android\s+[1-2]\.|MicroMessenger/i.test(userAgent)) {
15
+ anu.style.display = "none";
16
16
  }
17
17
  }
18
18
  setOpacity(anu, 0);
19
19
 
20
20
  function anniu() {
21
- var anniu = createElement(anu);
21
+ var anniu = anu.cloneNode();
22
22
  return anniu;
23
23
  }
@@ -1,5 +1,5 @@
1
- var _label = createElement("span");
2
- var track = createElement(div);
1
+ var _label = document.createElement("span");
2
+ var track = document.createElement("div");
3
3
  var onmouseenter = on("mouseenter");
4
4
  track.className = "track";
5
5
  _label.className = "label";
@@ -73,7 +73,7 @@ var touchstart = function () {
73
73
  active.call(this);
74
74
  };
75
75
  function button(texter, type) {
76
- var tracker = createElement(track);
76
+ var tracker = track.cloneNode();
77
77
  var _texter;
78
78
  if (isNode(texter)) {
79
79
  _texter = texter;
@@ -81,7 +81,7 @@ function button(texter, type) {
81
81
  var button = _texter;
82
82
  if (button.childNodes.length) {
83
83
  if (button.childNodes.length === 1 && button.childNodes[0].nodeType !== 1) {
84
- _texter = createElement(_label);
84
+ _texter = _label.cloneNode();
85
85
  _texter.appendChild(button.childNodes[0]);
86
86
  button.appendChild(_texter);
87
87
  }
@@ -91,7 +91,7 @@ function button(texter, type) {
91
91
  }
92
92
  }
93
93
  } else {
94
- _texter = createElement(_label);
94
+ _texter = _label.cloneNode();
95
95
  if (isString(texter)) {
96
96
  if (!type) {
97
97
  texter = texter.replace(/#\w*/, function (w) {
@@ -105,7 +105,10 @@ function button(texter, type) {
105
105
  html(_texter, texter);
106
106
  }
107
107
  }
108
- button = button || createElement(btn, tracker, _texter);
108
+ if (!button) {
109
+ button = btn.cloneNode();
110
+ appendChild(button, tracker, texter);
111
+ }
109
112
  bindAccesskey(button);
110
113
  onremove(button, resetall);
111
114
  onmouseenter(button, hover);
@@ -1,5 +1,5 @@
1
- var cloneProperties = "fontWeight,fontSize,fontFamily,color,textShadow,opacity,writingMode,blockSize,wordSpacing,letterSpacing,whiteSpace".split(",");
2
- var cloneProperties2 = "position,backdropFilter,filter,float,clear,margin,color,verticalAlign,textAlign,textShadow,opacity,boxShadow,overflow,textOverflow,wordBreak,webkitLineClamp,webkitBoxOrient,writingMode,blockSize,wordSpacing,letterSpacing,textIndent,lineHeight,display,appearance,webkitAppearance,MozAppearance".split(",");
1
+ var cloneProperties = "fontWeight,fontSize,fontFamily,color,textShadow,opacity,writingMode,blockSize,wordSpacing,letterSpacing,whiteSpace,lineHeight".split(",");// text-node
2
+ var cloneProperties2 = "position,backdropFilter,filter,float,clear,margin,color,verticalAlign,textAlign,textShadow,opacity,boxShadow,overflow,textOverflow,wordBreak,webkitLineClamp,webkitBoxOrient,writingMode,blockSize,wordSpacing,letterSpacing,textIndent,lineHeight,display,appearance,webkitAppearance,MozAppearance".split(",");// element
3
3
  var pushProperty = function (key, props) {
4
4
  props.split(",").forEach(k => {
5
5
  cloneProperties2.push(key + k);
@@ -148,7 +148,6 @@ var cloneVisible = function (td) {
148
148
  var { left, top, width, height } = getScreenPosition(copy);
149
149
  var style = getComputedStyle(copy);
150
150
  copyStyle(style, copy.style, cloneProperties);
151
- copy.style.lineHeight = height + "px";
152
151
  parentNode.insertBefore(td, copy);
153
152
  parentNode.removeChild(copy);
154
153
  result.appendChild(copy);
@@ -55,7 +55,7 @@ var prototype = {
55
55
  return this;
56
56
  }
57
57
  }
58
-
58
+ console.error("createElement将会在未来的版本中移除!");
59
59
  function createElement(name) {
60
60
  var node = isNode(name) ? name.cloneNode() : isFunction(name) ? name() : document.createElement(name);
61
61
  if (name.className) addClass(node, name.className);
@@ -128,6 +128,7 @@ var transpileMap = null;
128
128
 
129
129
  function transpile(src, trans, apiMap, delTransMap) {
130
130
  if (!trans) return src;
131
+
131
132
  if (src instanceof Array) {
132
133
  if (!transpileMap) transpileMap = [];
133
134
  var res = src.map(a => transpile(a, trans, apiMap, false));
@@ -145,8 +146,8 @@ function transpile(src, trans, apiMap, delTransMap) {
145
146
  value = data[v];
146
147
  delete data[v];
147
148
  } else {
148
- value = seekResponse(data, v);
149
- if (isEmpty(value)) value = seekResponse(src, v, apiMap);
149
+ value = seekResponse(src, v, apiMap);
150
+ if (isEmpty(value)) value = seekResponse(data, v);
150
151
  }
151
152
  if (!k) {
152
153
  if (value instanceof Array) {
@@ -213,7 +214,9 @@ function seekResponse(data, seeker, apiMap = {}) {
213
214
  }
214
215
  var reg = /[\|\?\!\/]/, selector, prop;
215
216
  if (reg.test(seeker)) {
216
- [selector, prop] = seeker.split(reg);
217
+ var m = reg.exec(seeker);
218
+ selector = seeker.slice(0, m.index);
219
+ prop = seeker.slice(m.index + m[0].length);
217
220
  } else {
218
221
  selector = seeker;
219
222
  }
@@ -484,7 +487,7 @@ var privates = {
484
487
  },
485
488
  repare(api, params) {
486
489
  var { required, autotrim, prepared } = api;
487
- if (!required.length && !prepared.length) return params;
490
+ if (!required.length && !prepared.length && !autotrim) return params;
488
491
  var params1 = {};
489
492
  required.forEach(k => {
490
493
  var v = seekResponse(params, required[k]);
@@ -909,7 +912,7 @@ var data = {
909
912
  parse = arg;
910
913
  break;
911
914
  default:
912
- params1 = arg;
915
+ if (!isEmpty(arg)) params1 = arg;
913
916
  }
914
917
  });
915
918
  var id = "." + sid;
@@ -1,23 +1,23 @@
1
- var _outterbox = createElement(div);
1
+ var _outterbox = document.createElement("div");
2
2
  css(_outterbox, "border-radius:2px;box-shadow:0 1px 24px -3px rgba(0,0,0,0.18);width:312px;height:210px;background-color:#fff;");
3
- var _slider = createElement(div);
3
+ var _slider = document.createElement("div");
4
4
  css(_slider, "float:left;width:33.3333%;");
5
- var _line = createElement(div);
5
+ var _line = document.createElement("div");
6
6
  css(_line, "height:46px;line-height:46px;text-align:center;");
7
- var _innerbox = createElement(div);
7
+ var _innerbox = document.createElement("div");
8
8
  css(_innerbox, "margin:0;");
9
9
  var lineHeight = "ontouchstart" in window ? 46 : 36;
10
10
  var createLine = function (startSlice, endSlice) {
11
11
  var result = [];
12
12
  for (var cx = startSlice, dx = endSlice; cx < dx; cx++) {
13
- var line = createElement(_line);
13
+ var line = _line.cloneNode();
14
14
  text(line, cx);
15
15
  result.push(line);
16
16
  }
17
17
  return result;
18
18
  }
19
19
  function createBox(from, to) {
20
- var slider = createElement(_slider);
20
+ var slider = _slider.cloneNode();
21
21
  slider.Height = function () {
22
22
  return Math.abs(from - to + 1) * lineHeight;
23
23
  };
@@ -49,13 +49,13 @@ function createBox(from, to) {
49
49
  }
50
50
  return top;
51
51
  }
52
- var item_box = createElement(_innerbox);
52
+ var item_box = _innerbox.cloneNode();
53
53
  appendChild(slider, item_box);
54
54
  vbox(slider);
55
55
  return slider;
56
56
  }
57
57
  function dateslider(from_date, to_date) {
58
- var outterbox = createElement(_outterbox);
58
+ var outterbox = _outterbox.cloneNode();
59
59
  var now = new Date;
60
60
  var currentYear = now.getFullYear();
61
61
  var currentMonth = now.getMonth() + 1;
@@ -1,5 +1,5 @@
1
1
  function download(dataurl, filename, mime = "text/plain") {
2
- var a = createElement("a");
2
+ var a = document.createElement("a");
3
3
  a.href = "data:" + mime + ";base64," + btoa(dataurl);
4
4
  a.target = '_blank';
5
5
  a.download = filename;
@@ -1,4 +1,4 @@
1
- var _editor = div();
1
+ var _editor = document.createElement("div");
2
2
  var template = `
3
3
  <div class=input></div>
4
4
  <textarea class=insert></textarea>
@@ -35,7 +35,7 @@ var getScrollTops = function (element) {
35
35
  }
36
36
 
37
37
  function editor() {
38
- var edit = createElement(_editor);
38
+ var edit = _editor.cloneNode();
39
39
  browserClass && addClass(edit, browserClass);
40
40
  var focusClass = "focus";
41
41
  edit.innerHTML = template;
@@ -102,8 +102,8 @@ function main() {
102
102
  [].forEach.call(arguments, function (arg) {
103
103
  if (isNode(arg)) {
104
104
  element = arg;
105
- } else if (isFinite(arg)) {
106
- minWidth = arg;
105
+ } else if (isFinite(arg) && arg > 0) {
106
+ minWidth = +arg;
107
107
  }
108
108
  });
109
109
  if ("$src" in element) {
@@ -4,7 +4,7 @@
4
4
  position: relative;
5
5
  height: 100%;
6
6
 
7
- >div {
7
+ >.list {
8
8
  vertical-align: top;
9
9
  display: inline-block;
10
10
  position: relative;
@@ -1,5 +1,3 @@
1
-
2
- var _slider = createElement(div);
3
1
  /**
4
2
  * @param {Element} template
5
3
  */
@@ -13,7 +11,6 @@ var cloneChildNodes = function (template) {
13
11
  }
14
12
  return cNodes;
15
13
  }
16
-
17
14
  /**
18
15
  * @param {Element} container
19
16
  * @param {Element|string} tagName;
@@ -46,8 +43,6 @@ var getGenerator = function (container, tagName = 'item') {
46
43
  appendChild(template, templates);
47
44
  render.struct(templates);
48
45
  if (templates.length) container.$template = template;
49
- container.insertBefore = _slider.insertBefore;
50
- container.appendChild = _slider.appendChild;
51
46
  /**
52
47
  * @param {number} index;
53
48
  * @param {Object} com;
@@ -105,4 +100,4 @@ var getGenerator = function (container, tagName = 'item') {
105
100
  }
106
101
  return newItem;
107
102
  };
108
- };
103
+ };
@@ -1,6 +1,6 @@
1
- var _itemGroup = div();
1
+ var _itemGroup = document.createElement("div");
2
2
  function group() {
3
- var _group = createElement(_itemGroup);
3
+ var _group = _itemGroup.cloneNode();
4
4
  appendChild.apply(null, [].concat.apply([_group], arguments));
5
5
  return _group;
6
6
  }
@@ -1,5 +1,5 @@
1
1
  function hline(line_width, line_opacity) {
2
- var line = createElement(div);
2
+ var line = document.createElement("div");
3
3
  css(line, "width:100%;height:" + line_width + "px;background-color:#000;");
4
4
  line_opacity && setOpacity(line, line_opacity);
5
5
  return line;
@@ -7,7 +7,7 @@ if (/MSIE\s*[2-8]/.test(navigator.userAgent)) {
7
7
  img.src = "ccon/" + src + ".png";
8
8
  };
9
9
  icon = function (path, color, hover, active) {
10
- var icon = createElement(icn);
10
+ var icon = icn.cloneNode();
11
11
  if (binaryImagePathReg.test(path)) {
12
12
  icon.src = path;
13
13
  return icon;
@@ -16,12 +16,12 @@ if (/MSIE\s*[2-8]/.test(navigator.userAgent)) {
16
16
  return icon;
17
17
  };
18
18
  } else {
19
- icn = createElement(div);
19
+ icn = document.createElement("div");
20
20
  setBackGround = function (div, src) {
21
21
  css(div, "background-image:url('data:image/png;base64," + src + "')");
22
22
  };
23
23
  icon = function (path, color, hover, active) {
24
- var icon = createElement(icn);
24
+ var icon = icn.cloneNode();
25
25
  if (binaryImagePathReg.test(path)) {
26
26
  css(icon, {
27
27
  backgroundImage: `url('${path}')`
@@ -1,4 +1,4 @@
1
- var _input = createElement("input");
1
+ var _input = document.createElement("input");
2
2
  /**
3
3
  * @this HTMLInputElement
4
4
  */
@@ -142,5 +142,5 @@ function input(element) {
142
142
  }
143
143
  return element;
144
144
  }
145
- return createElement(_input);
145
+ return _input.cloneNode();
146
146
  }
@@ -1,4 +1,4 @@
1
- var _label=createElement("label");
2
- function label(){
3
- return createElement(_label);
1
+ var _label = document.createElement("label");
2
+ function label() {
3
+ return _label.cloneNode();
4
4
  }
@@ -5,7 +5,7 @@ function ylist(container, generator, $Y) {
5
5
  /**
6
6
  * @type {HTMLElement}
7
7
  */
8
- var list = container || div();
8
+ var list = container;
9
9
  list.autoFix = true;
10
10
  var saved_itemIndex = 0;
11
11
  addClass(list, 'list-' + $Y.toLowerCase());
@@ -200,33 +200,6 @@ function ylist(container, generator, $Y) {
200
200
  list.scrollTop = -getFirstElement(1).offsetTop + indexed_item.offsetTop + indexed_item.offsetHeight * ratio;
201
201
  }
202
202
  };
203
- var runbuild = lazy(function () {
204
- patchBottom();
205
- patchTop();
206
- var firstElement = getFirstElement(1), y;
207
- if (firstElement) {
208
- y = firstElement.index * getNodeTarget(firstElement).offsetHeight;
209
- } else {
210
- y = 0;
211
- }
212
-
213
- css(topinsert, {
214
- height: fromOffset(y)
215
- });
216
- return y;
217
- }, false);
218
- var rebuild = function () {
219
- runbuild();
220
- };
221
- var topinsert = null;
222
- oncemount(list, function () {
223
- if (!/^(?:auto|scroll)$/i.test(getComputedStyle(list).overflowY)) return;
224
- on("scroll")(list, rebuild);
225
- if (!topinsert) {
226
- topinsert = document.createElement('insertY');
227
- list.insertBefore(topinsert, list.firstChild);
228
- }
229
- });
230
203
  //计算当前高度
231
204
  var currentY = function () {
232
205
  var firstElement = getFirstElement();
@@ -609,6 +582,19 @@ var getGeneratorFromArray = function (source) {
609
582
  };
610
583
 
611
584
 
585
+ var _insertBefore = function (child, referer) {
586
+ if (referer) {
587
+ if (referer.parentNode !== this) throw new Error('关联节点不是当前节点的子节点!');
588
+ appendChild.before(referer, child, false);
589
+ } else {
590
+ appendChild(this, child, false);
591
+ }
592
+ return child;
593
+ };
594
+ var _appendChild = function (child) {
595
+ appendChild(this, child, false);
596
+ return child;
597
+ };
612
598
  /**
613
599
  *
614
600
  * @param {Boolean|Array|Function} generator
@@ -657,6 +643,9 @@ function list() {
657
643
  var groupCount = /\d+/.exec($Y);
658
644
  if (groupCount) groupCount = +groupCount[0];
659
645
  $Y = /^[xh]|[xh]$/i.test($Y) ? "X" : "Y";
646
+ if (!container) container = document.createElement('list');
647
+ container.insertBefore = _insertBefore;
648
+ container.appendChild = _appendChild;
660
649
  var list = ($Y === "X" ? xlist : ylist)(container, generator, $Y);
661
650
  if (!list.group) list.group = groupCount || 2;
662
651
  if (bindSrc instanceof Array) {
@@ -1,8 +1,8 @@
1
- var _mask = createElement(div);
1
+ var _mask = document.createElement("div");
2
2
  css(_mask, "width:100%;height:100%;position:fixed;background-color:rgba(0,0,0,0.1)");
3
3
 
4
4
  function mask(onclose) {
5
- var msk = createElement(_mask);
5
+ var msk = _mask.cloneNode();
6
6
  onmousewheel(msk, function (event) {
7
7
  event.preventDefault();
8
8
  });
@@ -1,13 +1,13 @@
1
- var _itemBox = div();
2
- var _itemHead = div();
1
+ var _itemBox = document.createElement("div");
2
+ var _itemHead = document.createElement("div");
3
3
  addClass(_itemHead, "head");
4
- var _itemBody = div();
4
+ var _itemBody = document.createElement("div");
5
5
  addClass(_itemBody, "body");
6
- var _itemFoot = div();
6
+ var _itemFoot = document.createElement("div");
7
7
  addClass(_itemFoot, "foot");
8
8
 
9
9
  function option(head = div(), body = div(), foot, splitter, container) {
10
- var box = container && !/^option$/i.test(container.tagName) ? container : createElement(_itemBox);
10
+ var box = container && !/^option$/i.test(container.tagName) ? container : _itemBox.cloneNode();
11
11
  var _head = head;
12
12
  var _body = body;
13
13
  appendChild(box, _head, _body);
@@ -69,11 +69,11 @@ function main(arg0) {
69
69
  addClass(foot, "next");
70
70
  hasNext = true;
71
71
  }
72
- if (foot) foot = createElement(_itemFoot, foot);
72
+ if (foot) foot = appendChild(_itemFoot.cloneNode(), foot);
73
73
  if (isString(head) && !splitter) {
74
74
  splitter = 32 + (head.length + head.replace(/[\w ]+/g, "").length) * 16;
75
75
  }
76
- var box = option(createElement(_itemHead, head), createElement(_itemBody, body), foot, splitter, container);
76
+ var box = option(appendChild(_itemHead.cloneNode(), head), appendChild(_itemBody.cloneNode(), body), foot, splitter, container);
77
77
  if (hasNext) {
78
78
  addClass(box, "has-next")
79
79
  }
@@ -138,6 +138,7 @@ var initialComment = function (comment) {
138
138
  else {
139
139
  comment.renderid = 9;
140
140
  rebuild(comment);
141
+ delete comment.with;
141
142
  remove(comment);
142
143
  }
143
144
  };
@@ -194,11 +194,11 @@ var buildMiSe = function (scope) {
194
194
  height = fixcent(6);
195
195
  return [src, width, height, -1];
196
196
  };
197
- var outerbox = createElement(div);
197
+ var outerbox = document.createElement("div");
198
198
 
199
199
  var render = function (value, models = "年月日", message = "") {
200
200
  var builders = [buildYear, buildMonth, buildDate, buildHours, buildMiSe, buildMiSe];
201
- var container = createElement(div);
201
+ var container = document.createElement("div");
202
202
  var build = function (index) {
203
203
  var builder = builders[index];
204
204
  var [src, width, height, addon = 0, last_src = [], next_src = [], title_src = ""] = builder(value);
@@ -1,5 +1,5 @@
1
1
  function space(height) {
2
- var _space = createElement(div);
2
+ var _space = document.createElement("div");
3
3
  css(_space, {
4
4
  height: (height || 10) + "px"
5
5
  });
@@ -4,7 +4,7 @@ function main() {
4
4
  block.type = "checkbox";
5
5
  if (isIE) {
6
6
  block.setAttribute("ie", isIE);
7
- block.with = createElement("label");
7
+ block.with = document.createElement("label");
8
8
  }
9
9
  return block;
10
10
  }
@@ -1,4 +1,4 @@
1
- var nav = createElement("titlebar");
1
+ var nav = document.createElement("titlebar");
2
2
 
3
3
  function btn(element) {
4
4
  var opt = button(element);
@@ -26,9 +26,9 @@ function titlebar(elem) {
26
26
  }
27
27
  }
28
28
  use_back = use_back !== false;
29
- var bar = createElement(nav);
30
- var title = createElement(label);
31
- var _back = createElement(back);
29
+ var bar = nav.cloneNode();
30
+ var title = label();
31
+ var _back = back();
32
32
  text(title, page_title || document.title);
33
33
  appendChild(bar, title);
34
34
  var menu_group = div();
@@ -4,7 +4,7 @@ function ybox(generator) {
4
4
  if (isNode(generator)) {
5
5
  _box = generator;
6
6
  } else {
7
- _box = createElement(div);
7
+ _box = document.createElement("div");
8
8
  }
9
9
  var _tmp = isFunction(generator) && generator(_box);
10
10
  if (isNode(_tmp)) _box = _tmp;
@@ -1,6 +1,6 @@
1
1
  function video(src) {
2
2
  if (isString(src)) {
3
- var video = createElement("video");
3
+ var video = document.createElement("video");
4
4
  video.type = "video/" + src.replace(/^.*?\.(\w*)$/g, "$1");
5
5
  video.src = src;
6
6
  } else if (isNode(src)) {
@@ -35,7 +35,7 @@ if (/MSIE\s*[2-7]/.test(navigator.userAgent)) {
35
35
  onselectstart(body, function (e) {
36
36
  return e.preventDefault();
37
37
  });
38
- var frame = createElement("iframe");
38
+ var frame = document.createElement("iframe");
39
39
  css(frame, "display:none");
40
40
  appendChild.insert(body, frame);
41
41
  var doc = frame.contentWindow.document;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "3.33.3",
3
+ "version": "3.34.2",
4
4
  "description": "简化前端开发,优化web性能",
5
5
  "main": "public/efront.js",
6
6
  "directories": {