1<!doctype html> 2<html lang="en-us"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 6 <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> 7 <title>Hello, sqlite3</title> 8 <style> 9 .warning, .error {color: red} 10 .error {background-color: yellow} 11 body { 12 display: flex; 13 flex-direction: column; 14 font-family: monospace; 15 white-space: break-spaces; 16 } 17 </style> 18 </head> 19 <body> 20 <h1>1-2-sqlite3 worker demo</h1> 21 <script>(function(){ 22 const logHtml = function(cssClass,...args){ 23 const ln = document.createElement('div'); 24 if(cssClass) ln.classList.add(cssClass); 25 ln.append(document.createTextNode(args.join(' '))); 26 document.body.append(ln); 27 }; 28 const w = new Worker("demo-123.js?sqlite3.dir=jswasm" 29 /* Note the URL argument on that name. See 30 the notes in demo-123.js (search for 31 "importScripts") for why we need 32 that. */); 33 w.onmessage = function({data}){ 34 switch(data.type){ 35 case 'log': 36 logHtml(data.payload.cssClass, ...data.payload.args); 37 break; 38 default: 39 logHtml('error',"Unhandled message:",data.type); 40 }; 41 }; 42 })();</script> 43 </body> 44</html> 45