45 lines
1.4 KiB
HTML
45 lines
1.4 KiB
HTML
|
<!doctype html>
|
||
|
<html lang="en-us">
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">
|
||
|
<title>Hello, sqlite3</title>
|
||
|
<style>
|
||
|
.warning, .error {color: red}
|
||
|
.error {background-color: yellow}
|
||
|
body {
|
||
|
display: flex;
|
||
|
flex-direction: column;
|
||
|
font-family: monospace;
|
||
|
white-space: break-spaces;
|
||
|
}
|
||
|
</style>
|
||
|
</head>
|
||
|
<body>
|
||
|
<h1>1-2-sqlite3 worker demo</h1>
|
||
|
<script>(function(){
|
||
|
const logHtml = function(cssClass,...args){
|
||
|
const ln = document.createElement('div');
|
||
|
if(cssClass) ln.classList.add(cssClass);
|
||
|
ln.append(document.createTextNode(args.join(' ')));
|
||
|
document.body.append(ln);
|
||
|
};
|
||
|
const w = new Worker("demo-123.js?sqlite3.dir=jswasm"
|
||
|
/* Note the URL argument on that name. See
|
||
|
the notes in demo-123.js (search for
|
||
|
"importScripts") for why we need
|
||
|
that. */);
|
||
|
w.onmessage = function({data}){
|
||
|
switch(data.type){
|
||
|
case 'log':
|
||
|
logHtml(data.payload.cssClass, ...data.payload.args);
|
||
|
break;
|
||
|
default:
|
||
|
logHtml('error',"Unhandled message:",data.type);
|
||
|
};
|
||
|
};
|
||
|
})();</script>
|
||
|
</body>
|
||
|
</html>
|