|
119 | 119 | 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==); |
120 | 120 | } |
121 | 121 |
|
| 122 | + #src |
| 123 | + {} |
122 | 124 |
|
123 | 125 | #output, #output2 |
124 | 126 | {font-family:monospace;font-size:16px} |
| 127 | + |
125 | 128 | #item, #item2 |
126 | 129 | {margin:20px 0;border:1px solid lightgray;padding:10px;overflow:auto;display:flex;flex-direction:column;gap:10px} |
127 | | - #src |
128 | | - {} |
| 130 | + |
| 131 | + #url |
| 132 | + {font-weight:bold} |
| 133 | + |
129 | 134 | #values |
130 | 135 | {white-space:pre} |
131 | 136 | #values.error |
|
225 | 230 |
|
226 | 231 |
|
227 | 232 | var process = {}; |
| 233 | + var setup = {}; |
| 234 | + |
228 | 235 |
|
229 | 236 | //: |
230 | 237 |
|
@@ -365,12 +372,16 @@ <h3> |
365 | 372 | $('#url').textContent = src; |
366 | 373 | var values = $('#values'); |
367 | 374 | var nvalues; |
368 | | - var clone = ()=>(nvalues=values.cloneNode(true),nitem.append(nvalues)); |
| 375 | + var clone = ()=>(nvalues=values.cloneNode(true),nitem.append(nvalues),nvalues); |
369 | 376 | output2.append(nitem); |
370 | 377 |
|
371 | 378 |
|
372 | 379 | var {win,doc} = await niframe(); |
373 | 380 |
|
| 381 | + setup.win(win,clone); |
| 382 | + |
| 383 | + |
| 384 | + |
374 | 385 | var output = str=>(clone(),nvalues.textContent=str); |
375 | 386 | var js = fnstr(fn); |
376 | 387 | console.log(js); |
@@ -419,6 +430,31 @@ <h3> |
419 | 430 | //: |
420 | 431 |
|
421 | 432 |
|
| 433 | + setup.win = function(win,clone){ |
| 434 | + |
| 435 | + win.onerror = function(err){ |
| 436 | + console.log('window.onerror'); |
| 437 | + console.log(arguments); |
| 438 | + console.error(err); |
| 439 | + var nvalues = clone(); |
| 440 | + nvalues.textContent = err; |
| 441 | + nvalues.classList.add('error'); |
| 442 | + |
| 443 | + }//onerror |
| 444 | + |
| 445 | + |
| 446 | + win.onunhandledrejection = function(e){ |
| 447 | + console.warn(`UNHANDLED PROMISE REJECTION: ${e.reason}`); |
| 448 | + console.log(arguments); |
| 449 | + var nvalues = clone(); |
| 450 | + nvalues.textContent = e.reason; |
| 451 | + nvalues.classList.add('error'); |
| 452 | + |
| 453 | + }//onunhandledrejection |
| 454 | + |
| 455 | + }//win |
| 456 | + |
| 457 | + |
422 | 458 | function niframe(){ |
423 | 459 |
|
424 | 460 | var resolve,promise=new Promise(res=>resolve=res); |
|
0 commit comments