s4s-packager / static /example-import.html
soiz1's picture
Upload 225 files
7aec436 verified
<!DOCTYPE html>
<html>
<head>
<style>
iframe {
display: block;
}
</style>
<meta name="robots" content="noindex">
</head>
<body>
<p>Iframe:</p>
<iframe width="600" height="600"></iframe>
<p>
<a href="" target="_blank" rel="opener">Open packager in new tab</a>
</p>
<script>
const frame = document.querySelector('iframe');
const link = document.querySelector('a');
const url = `/?import_from=${location.origin}`;
frame.src = url;
link.href = url;
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
// In production, the expected origin is 'https://packager.turbowarp.org'
const expectedOrigin = location.origin;
window.addEventListener('message', async (e) => {
if (e.origin !== expectedOrigin) {
return;
}
const data = e.data && e.data.p4;
if (!data) {
return;
}
if (data.type === 'ready-for-import') {
e.source.postMessage({
p4: {
type: 'start-import'
}
}, expectedOrigin);
await sleep(Math.random() * 2000);
const res = await fetch('./example.sb3');
const buffer = await res.arrayBuffer();
e.source.postMessage({
p4: {
type: 'finish-import',
data: buffer,
name: 'example.sb3'
}
}, expectedOrigin, [buffer]);
}
});
</script>
</body>
</html>