|
38 | 38 | "offers" : {"@type":"Offer","price":"0","priceCurrency":"GBP"} |
39 | 39 | } |
40 | 40 | </script> |
41 | | - |
42 | 41 |
|
43 | | - <script src='https://libs.ext-code.com/js/dom/component/component.js'></script> |
44 | | - |
| 42 | + |
| 43 | + <script src='https://libs.ext-code.com/js/dom/component/v3.0/component.js'></script> |
| 44 | + |
45 | 45 | <script init> |
46 | 46 | console.clear(); |
47 | 47 | console.log('srcdoc.html'); |
48 | 48 | console.log(); |
49 | 49 | console.json=v=>console.log(JSON.stringify(v)); |
50 | 50 | var df=true,version='v2.0' |
51 | 51 | ; |
52 | | - |
| 52 | + |
53 | 53 | var ext; |
54 | 54 | var $; |
55 | 55 | var datatype; |
56 | 56 | var menumod; |
57 | 57 | var keydown; |
58 | 58 | var debug; |
59 | 59 | var github; |
60 | | - |
| 60 | + |
61 | 61 | var menu; |
62 | 62 |
|
63 | 63 |
|
|
67 | 67 |
|
68 | 68 | mod.base.add({ext,$,datatype,keydown,menu,menumod}); |
69 | 69 |
|
70 | | - |
| 70 | + |
71 | 71 | await initdom(document.body); |
72 | | - |
73 | | - |
| 72 | + |
| 73 | + |
74 | 74 | }//init |
75 | | - |
76 | | - |
| 75 | + |
| 76 | + |
77 | 77 | (async()=>{ |
78 | 78 |
|
79 | 79 | mod.stack.add; |
80 | 80 |
|
81 | 81 | ({ext} = await import('https://libs.ext-code.com/js/io/ext-loader/ext-loader.m.js')); |
82 | | - |
| 82 | + |
83 | 83 | var promise = ext.load.libs( |
84 | 84 | 'js/dom/$.js', |
85 | 85 | 'js/core/datatype.js', |
|
89 | 89 | 'js/io/github/github.js', |
90 | 90 | ); |
91 | 91 | [$,datatype,menumod,keydown,debug,github] = await promise; |
92 | | - |
| 92 | + |
93 | 93 | mod.stack.complete; |
94 | | - |
| 94 | + |
95 | 95 | })(); |
96 | 96 |
|
97 | 97 | </script init> |
|
101 | 101 | <link rel=stylesheet href='/utils/css/utils.css'> |
102 | 102 | --> |
103 | 103 | <style> |
104 | | - |
| 104 | + |
105 | 105 | html |
106 | 106 | {height:100%} |
107 | 107 | body |
108 | 108 | {height:calc(100% - 16px);display:flex;flex-direction:column;font-family:arial} |
109 | | - |
| 109 | + |
110 | 110 | .icon |
111 | 111 | {border:1px solid gray;border-radius:3px;box-sizing:border-box;width:30px;height:30px;cursor:pointer} |
112 | | - |
| 112 | + |
113 | 113 | .copy |
114 | 114 | {padding:2px; |
115 | 115 | content:url(data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAABSlBMVEVHcEwnz/4C8P4g1P4L6P43wf5Mr/4a2v4Y3P4/uv5PrP4+vf5Auv4ozv5KsP4vyv45wP5Jsf5Auf49vP5Mrv4zxf44wf5Lr/46wP4h1P5Lr/46vv5Jsv4R5P5Hs/5Etv44wf5Hs/41w/4uyv47vv49vP5Ftf5GtP4c2f4rzP4tyv4m0f5Etv5Nrv4xxv4xxv4xx/4W3/5KsP5Mr/4/u/4uyv5Isv4K6f4l0f4qzv4W3/4V3/5Nrv5Mrv5Mrv5Mr/4W3v4e2P5BuP5Hsv4N5v4K6f4O5v42w/5Dt/4E7/4uyf4C8P4nz/4M5/4K6v4oz/4P5f4k0v4b2v5Gs/4E7v4I6/5Nrf4e1/4H7P4E7v5Auv5Dtv4sy/5Isv5GtP4wx/49vP4zxf47vv44wP42w/5LsP5Jsf4i1P4n0P4N5v4k0v4a2v4S4v4X3v6OfcqkAAAAVnRSTlMACo7CjQWN/VczjgIJMfIXJzHtjj5iVekR71Hvtz7CjelXjre2wiJj2PCFIWbR7+fEnXaodz3544/USfOC22Tm7CXOnqfUZ+/3VTV9bsTzqGDahpb2tyRB6bIAAAIDSURBVDjLrZVpV9pAFIYntdFiQkZsLCQECtJSlqAsFRBU3Kuta1sncYGuJEDt///aISkkkyHo6enzLTlP5s5758wNAC526pd3d1++/fzx/evNze1tp210wxURUMTWBz2v2EWtLc7jBTPmoJfNrqy8i0ajixgB00VISJIeW9JMKbcWDAYDNiFMQN1EqAAJcUfSBif0fsQWQjLxpjGnXUJa5CoIbTiP8KJ0OqfNMLQIZhGad/Ke3t///vWwGKv1+yPxfW55+TnmJWZW5ggxcqX3m6WSVTpSdPcxHCLExmf97AI8e1j8cK1f8X9Fq/Sotrf0k2v9KRiJ08L8mwhf2CQx8oK/yJyPw3Q67ULaV4Tr7tRCwFfkllLF4ushccwGPyUMzwzhMQz/X1Kz+QVMmh2LcjgsTxDZ3OpqIpFYfDu+KGwoxE5JvTtpF9NX9BEB792jn0gD4eNEsVAQHyXOO7fQFmNNLZOnPV5BqEyI+Yxm1qkluS0BCWRp8FEze6mTJQtVVd8MUfcEhBSGFOGMOWmaoc0AmRoXP5cmiHEReEXANOopzCsLRYlXjWolGXE2jK/r/ujEWAdOFIxWGrjO8ljXazG6MeynthEn2gAP9P7B4XCE2thzdG2v2jbK5LfHZ3hINbclSco6o/kIh1Einq4e1qxp5m2PkqZ/CPvbXvFot+xe7w/EpaiUrJ24NAAAAABJRU5ErkJggg==); |
|
121 | 121 | {display:flex;gap:5px;align-items:center} |
122 | 122 | #url |
123 | 123 | {flex:1;padding:5px 10px;font-size:16px} |
124 | | - |
| 124 | + |
125 | 125 | iframe |
126 | 126 | {flex:1;border:none} |
127 | 127 |
|
128 | 128 | input |
129 | 129 | {font-size:16px;padding:5px 10px} |
130 | 130 | input[type=button] |
131 | 131 | {cursor:pointer} |
132 | | - |
| 132 | + |
133 | 133 | </style> |
134 | 134 |
|
135 | 135 | </head> |
|
146 | 146 | </div> |
147 | 147 |
|
148 | 148 | <iframe></iframe> |
149 | | - |
| 149 | + |
150 | 150 | </body> |
151 | | - |
| 151 | + |
152 | 152 |
|
153 | 153 | <script> |
154 | | - |
155 | | - |
| 154 | + |
| 155 | + |
156 | 156 | var input; |
157 | 157 | var iframe; |
158 | | - |
| 158 | + |
159 | 159 |
|
160 | 160 | var btn = {}; |
161 | 161 | var onmsg = {}; |
162 | | - |
163 | | - |
| 162 | + |
| 163 | + |
164 | 164 | //: |
165 | | - |
| 165 | + |
166 | 166 |
|
167 | 167 | function initdom(){ |
168 | 168 | debug('initdom'); |
|
173 | 173 | $(root,'.copy').onclick = btn.copy; |
174 | 174 | $(root,'.paste').onclick = btn.paste; |
175 | 175 |
|
176 | | - $(root,'[value=go]').onclick = btn.go; |
| 176 | + $(root,'[value=go]').onclick = btn.go; |
177 | 177 |
|
178 | 178 |
|
179 | 179 | iframe = $(root,'iframe'); |
180 | | - |
181 | | - |
| 180 | + |
| 181 | + |
182 | 182 |
|
183 | 183 |
|
184 | 184 | }//initdom |
185 | 185 |
|
186 | 186 |
|
187 | 187 | btn.copy = async function(){ |
188 | | - |
| 188 | + |
189 | 189 | var txt = input.value; |
190 | 190 | await navigator.clipboard.writeText(txt); |
191 | 191 | }//copy |
192 | 192 |
|
193 | 193 |
|
194 | 194 | btn.paste = async function(){ |
195 | | - |
| 195 | + |
196 | 196 | var txt = await navigator.clipboard.readText(); |
197 | 197 | input.value = txt; |
198 | 198 |
|
199 | 199 | }//paste |
200 | 200 |
|
201 | 201 |
|
202 | 202 | btn.go = async function(){ |
203 | | - |
| 203 | + |
204 | 204 | var url = input.value; |
205 | 205 | var result = github.parse(url); |
206 | 206 | if(result.error){ |
|
220 | 220 | var err; |
221 | 221 |
|
222 | 222 | try{ |
223 | | - |
| 223 | + |
224 | 224 | var res = await fetch(url); |
225 | 225 |
|
226 | 226 | }//try |
227 | 227 |
|
228 | 228 | catch(err2){ |
229 | | - |
| 229 | + |
230 | 230 | err = err2; |
231 | 231 |
|
232 | 232 | }//catch |
|
235 | 235 | alert(err.toString()); |
236 | 236 | return; |
237 | 237 | } |
238 | | - |
239 | | - |
240 | | - var html; |
| 238 | + |
| 239 | + |
| 240 | + var html; |
241 | 241 | if(github.parse.is.api(url)){ |
242 | 242 | var json = await res.json(); |
243 | 243 | var b64 = json.content; |
|
249 | 249 | iframe.srcdoc = html; |
250 | 250 |
|
251 | 251 | }//go |
252 | | - |
253 | | - |
| 252 | + |
| 253 | + |
254 | 254 | //: |
255 | 255 |
|
256 | 256 |
|
257 | 257 | window.onmessage = function(e){ |
258 | | - |
| 258 | + |
259 | 259 | var str = e.data; |
260 | 260 | var json = JSON.parse(str); |
261 | 261 |
|
262 | 262 | switch(json.type){ |
263 | | - |
| 263 | + |
264 | 264 | case 'load' : onmsg.load(json); break; |
265 | 265 |
|
266 | 266 | }//switch |
|
269 | 269 |
|
270 | 270 |
|
271 | 271 | onmsg.load = function(json){ |
272 | | - |
| 272 | + |
273 | 273 | input.value = json.url; |
274 | 274 |
|
275 | 275 | }//load |
276 | 276 |
|
277 | 277 |
|
278 | | - |
279 | | - |
| 278 | + |
| 279 | + |
280 | 280 | </script> |
281 | 281 |
|
282 | 282 | </html> |
|
0 commit comments