|
19 | 19 | let allClasses = [];
|
20 | 20 |
|
21 | 21 | async function resolveClass(className) {
|
| 22 | + let date = new Date(); |
| 23 | + let lasttime = date.getTime() |
22 | 24 | let classSubParams = className.split(':'), styleStr = '', screenBreakPointOpen = false
|
23 | 25 | for (i in classSubParams) {
|
24 |
| - if (i == 0 && classSubParams.length > 1) { |
| 26 | + if (i == classSubParams.length - 1) { |
| 27 | + // value + name getting |
| 28 | + let value = classSubParams[i].split('>')[1], name = classSubParams[i].split('>')[0], resp = ''; |
| 29 | + let res = await fetch(document.querySelector('[lightwindsrc]').getAttribute('lightwindsrc')), strRet = '' |
| 30 | + res = await res.json() |
| 31 | + if (resp == '') { |
| 32 | + resp = `{${name}:${value};}` |
| 33 | + } |
| 34 | + styleStr = styleStr + `.${className.replace(/\:/g, '\\:').replace(/\[/g, '\\[').replace(/\]/g, '\\]').replace(/\>/g, '\\>').replace(/\//g, '\\/').replace(/\(/g, '\\(').replace(/\)/g, '\\)').replace(/\%/g, '\\%').replace(/\-/g, '\\-').replace(/\+/g, '\\+').replace(/\*/g, '\\*').replace(/\,/g, '\\,').replace(/\|/g, '\\|')}` + resp |
| 35 | + if (screenBreakPointOpen) |
| 36 | + styleStr += '}' |
| 37 | + } |
| 38 | + else if (i == 0) { |
25 | 39 | // screen async search
|
26 | 40 |
|
27 | 41 | let resp = async function(classSubParams, screenBreakPointOpen, i, className) {
|
|
31 | 45 | if (screen.name == classSubParams[i]) {
|
32 | 46 | screenBreakPointOpen = true;
|
33 | 47 | if (screen.min != null && screen.max != null) {
|
34 |
| - strRet = `@media screen and (min-width: ${screen.min}) and (max-width: ${screen.max}) { .${className.replace(/\:/g, '\\:').replace(/\[/g, '\\[').replace(/\]/g, '\\]').replace(/\>/g, '\\>').replace(/\//g, '\\/').replace(/\(/g, '\\(').replace(/\)/g, '\\)').replace(/\%/g, '\\%').replace(/\-/g, '\\-').replace(/\+/g, '\\+').replace(/\*/g, '\\*').replace(/\,/g, '\\,').replace(/\|/g, '\\|')}` |
| 48 | + strRet = `@media screen and (min-width: ${screen.min}) and (max-width: ${screen.max}){` |
35 | 49 | }
|
36 | 50 | else if (screen.min != null) {
|
37 |
| - strRet = `@media screen and (min-width: ${screen.min}) { .${className.replace(/\:/g, '\\:').replace(/\[/g, '\\[').replace(/\]/g, '\\]').replace(/\>/g, '\\>').replace(/\//g, '\\/').replace(/\(/g, '\\(').replace(/\)/g, '\\)').replace(/\%/g, '\\%').replace(/\-/g, '\\-').replace(/\+/g, '\\+').replace(/\*/g, '\\*').replace(/\,/g, '\\,').replace(/\|/g, '\\|')}` |
| 51 | + strRet = `@media screen and (min-width: ${screen.min}){` |
38 | 52 | }
|
39 | 53 | else if (screen.max != null) {
|
40 |
| - strRet = `@media screen and (max-width: ${screen.max}) { .${className.replace(/\:/g, '\\:').replace(/\[/g, '\\[').replace(/\]/g, '\\]').replace(/\>/g, '\\>').replace(/\//g, '\\/').replace(/\(/g, '\\(').replace(/\)/g, '\\)').replace(/\%/g, '\\%').replace(/\-/g, '\\-').replace(/\+/g, '\\+').replace(/\*/g, '\\*').replace(/\,/g, '\\,').replace(/\|/g, '\\|')}` |
| 54 | + strRet = `@media screen and (max-width: ${screen.max}){` |
41 | 55 | }
|
42 | 56 | }
|
43 | 57 | })
|
|
61 | 75 | }(classSubParams, i);
|
62 | 76 | styleStr += await resp
|
63 | 77 | }
|
64 |
| - else if (i == classSubParams.length - 1) { |
65 |
| - // value + name getting |
66 |
| - let value = classSubParams[i].split('>')[1], name = classSubParams[i].split('>')[0]; |
67 |
| - |
68 |
| - // only value async search |
69 |
| - |
70 |
| - // each name + alias on async search |
71 |
| - |
72 |
| - } |
73 | 78 | else {
|
74 | 79 | // selector (name + alias on async search)
|
75 | 80 | let resp = async function(classSubParams, i) {
|
|
89 | 94 | }
|
90 | 95 | }
|
91 | 96 | styleLightWind.textContent += styleStr
|
| 97 | + console.log(date.getTime() - lasttime) |
92 | 98 | }
|
93 | 99 |
|
94 | 100 | // mutations
|
95 |
| - (() => { |
| 101 | + (async () => { |
96 | 102 | new MutationObserver(function(mutations) {
|
97 | 103 | mutations.forEach(mutation => {
|
98 | 104 | try {
|
|
127 | 133 | </script>
|
128 | 134 | </head>
|
129 | 135 | <body>
|
130 |
| - <div class="sm:lol"> |
131 |
| - <a href="#" class="md:bfr:ll>ss"> |
132 |
| - <ul class="left>10"> |
133 |
| - <li class="absolute"></li> |
134 |
| - <li class="l>1"></li> |
135 |
| - <li class="opacity>0"></li> |
136 |
| - <li class="gg"></li> |
137 |
| - <li class="gg"></li> |
138 |
| - </ul> |
139 |
| - </a> |
| 136 | + <div class="md:color>red top>100px position>absolute"> |
| 137 | + jj |
140 | 138 | </div>
|
141 | 139 | </body>
|
142 | 140 | </html>
|
0 commit comments