mirror of
https://github.com/CharaChorder/DeviceManager.git
synced 2025-12-11 13:26:16 +00:00
fix: build
This commit is contained in:
@@ -81,8 +81,4 @@
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
kbd {
|
||||
height: 24px;
|
||||
}
|
||||
</style>
|
||||
|
||||
0
src/routes/sandbox/+layout@.svelte
Normal file
0
src/routes/sandbox/+layout@.svelte
Normal file
43
src/routes/sandbox/+page.svelte
Normal file
43
src/routes/sandbox/+page.svelte
Normal 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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user