| <!doctype html><html lang="en-us"><head><meta charset="utf-8"></head> |
| <body> |
| <canvas style='display:block; margin:auto;'></canvas> |
| <script> |
| function b(url) { // Downloads a binary file and outputs it in the specified callback |
| return new Promise((ok, err) => { |
| var x = new XMLHttpRequest(); |
| x.open('GET', url, true); |
| x.responseType = 'arraybuffer'; |
| x.onload = () => { ok(x.response); } |
| x.send(null); |
| }); |
| } |
| |
| function s(url) { // Downloads a script file and adds it to DOM |
| return new Promise((ok, err) => { |
| var s = document.createElement('script'); |
| s.src = url; |
| s.onload = () => { |
| #if MODULARIZE |
| var c = {{{ EXPORT_NAME }}}; |
| delete {{{ EXPORT_NAME }}}; |
| ok(c); |
| #else |
| ok(); |
| #endif |
| }; |
| document.body.appendChild(s); |
| }); |
| } |
| |
| #if MODULARIZE |
| #if WASM |
| Promise.all([s('{{{ TARGET_BASENAME }}}.js'), b('{{{ TARGET_BASENAME }}}.wasm')]).then((r) => { |
| r[0]({ wasm: r[1] }); |
| }); |
| #else |
| #if MEM_INIT_METHOD == 1 |
| Promise.all([s('{{{ TARGET_BASENAME }}}.js'), s('{{{ TARGET_BASENAME }}}.asm.js'), b('{{{ TARGET_BASENAME }}}.mem')]).then((r) => { |
| r[0]({ asm: r[1], mem: r[2] }); |
| }); |
| #else |
| Promise.all([s('{{{ TARGET_BASENAME }}}.js'), s('{{{ TARGET_BASENAME }}}.asm.js')]).then((r) => { |
| r[0]({ asm: r[1] }); |
| }); |
| #endif // MEM_INIT_METHOD |
| #endif // WASM |
| #else // MODULARIZE |
| var Module = {}; |
| #if WASM |
| Promise.all([b('{{{ TARGET_BASENAME }}}.js'), b('{{{ TARGET_BASENAME }}}.wasm')]).then((r) => { |
| Module.wasm = r[1]; |
| var url = URL.createObjectURL(new Blob([r[0]], { type: 'application/javascript' })); |
| s(url).then(() => { URL.revokeObjectURL(url) }); |
| }); |
| #else |
| #if MEM_INIT_METHOD == 1 |
| Promise.all([b('{{{ TARGET_BASENAME }}}.js'), s('{{{ TARGET_BASENAME }}}.asm.js'), b('{{{ TARGET_BASENAME }}}.mem')]).then((r) => { |
| Module.mem = r[2]; |
| var url = URL.createObjectURL(new Blob([r[0]], { type: 'application/javascript' })); |
| s(url).then(() => { URL.revokeObjectURL(url) }); |
| }); |
| #else |
| Promise.all([b('{{{ TARGET_BASENAME }}}.js'), s('{{{ TARGET_BASENAME }}}.asm.js')]).then((r) => { |
| var url = URL.createObjectURL(new Blob([r[0]], { type: 'application/javascript' })); |
| s(url).then(() => { URL.revokeObjectURL(url) }); |
| }); |
| #endif // MEM_INIT_METHOD |
| #endif // WASM |
| #endif // MODULARIZE |
| </script> |
| </body> |
| </html> |