-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFillJS
127 lines (70 loc) · 1.77 KB
/
FillJS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
(function(windows,fillElement){
if(windows.fillElementConfig)
windows[windows.fillElementConfig.name] = fillElement;
else {
if(!windows.fillText)
windows.fillText = new fillElement().fillText;
}
})(
window,
function(){
var _data = {};
this.fillText = function(idorElement,data,$$){
var $$ = $$ || "$";
var
mark = "$mark-";
isbreak = false;
Count = 0;
var dom ;
if(typeof idorElement === "string"){
dom = document.getElementById(idorElement);
}else{
dom = idorElement;
}
var parentDom;
var parentDomText;
parentDom = dom;
parentDomText = parentDom.innerHTML;
if(_data[dom.id])
parentDomText = _data[dom.id];
if(parentDomText==""){
parentDomText = _data[dom.id];
}else{
if(!_data[dom.id])
_data[dom.id] = parentDomText;
}
parentDomText = parentDomText.replace(/</g,"<").replace(/>/g,">");
var len = 0;
var Str = "";
for(var c in data){
len ++;
var text = parentDomText;
var cItem = data[c];
cItem["getIndex"] = len;
var key;
for(;;){
key = getString(text,"{"+$$,$$+"}",true);
if( key == ""){ break; }
eval("var b = cItem."+key+";")
text = text.replace("{"+$$+key+$$+"}",b);
}
Str += text;
}
parentDom.innerHTML = Str;
return this;
}
}
)
var getString = function(text,str,toStr,isDel){
var s = function(){
var i = text.indexOf(str) ;
return i < 0 ? 0 : i + ( isDel ? str.length : 0 );
}();
var t = function(){
var i = text.indexOf(toStr,s+1) ;
return i < 0 ? text.length : i + ( isDel ? 0 : toStr.length );
}();
var ret = text.substring(s,t);
if( text == ret) ret = "";
return ret;
}