mirror of
https://github.com/CharaChorder/DeviceManager.git
synced 2026-01-05 09:32:53 +00:00
fix: build
This commit is contained in:
@@ -81,8 +81,4 @@
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
kbd {
|
|
||||||
height: 24px;
|
|
||||||
}
|
|
||||||
</style>
|
</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