fix: build

This commit is contained in:
2023-12-08 22:16:07 +01:00
parent bf4c86e698
commit f758be91a9
4 changed files with 43 additions and 53 deletions

View File

@@ -81,8 +81,4 @@
font-size: 16px;
}
}
kbd {
height: 24px;
}
</style>

View File

View File

@@ -0,0 +1,43 @@
<script>
let ongoingRequest
let resolveRequest
let source
async function post(channel, args) {
while (ongoingRequest) {
await ongoingRequest
}
ongoingRequest = new Promise(resolve => {
resolveRequest = resolve
source.postMessage([channel, args], "*")
})
ongoingRequest.then(() => {
ongoingRequest = undefined
})
return ongoingRequest
}
window.addEventListener("message", event => {
if ("response" in event.data) {
resolveRequest(event.data.response)
} else {
source = event.source
var Action = event.data.actionCodes
Object.assign(
Action,
Object.fromEntries(
Object.values(event.data.actionCodes)
.filter(it => !!it.id)
.map(it => [it.id, it]),
),
)
var Chara = {}
for (const fn of event.data.charaChannels) {
Chara[fn] = (...args) => post(fn, args)
}
eval(`(async function(){${event.data.script}})()`)
}
})
</script>

View File

@@ -1,49 +0,0 @@
<!doctype html>
<html>
<head>
<title>iFrame Sandbox</title>
<script>
let ongoingRequest
let resolveRequest
let source
async function post(channel, args) {
while (ongoingRequest) {
await ongoingRequest
}
ongoingRequest = new Promise(resolve => {
resolveRequest = resolve
source.postMessage([channel, args], "*")
})
ongoingRequest.then(() => {
ongoingRequest = undefined
})
return ongoingRequest
}
window.addEventListener("message", event => {
if ("response" in event.data) {
resolveRequest(event.data.response)
} else {
source = event.source
var Action = event.data.actionCodes
Object.assign(
Action,
Object.fromEntries(
Object.values(event.data.actionCodes)
.filter(it => !!it.id)
.map(it => [it.id, it]),
),
)
var Chara = {}
for (const fn of event.data.charaChannels) {
Chara[fn] = (...args) => post(fn, args)
}
eval(`(async function(){${event.data.script}})()`)
}
})
</script>
</head>
</html>