49 lines
1.5 KiB
HTML
49 lines
1.5 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Sender (E2E)</title>
|
|
</head>
|
|
<body>
|
|
<button id="open">Open studio popup</button>
|
|
<button id="send">Send token</button>
|
|
<pre id="log"></pre>
|
|
<script>
|
|
function getParam(name) {
|
|
try { return new URLSearchParams(window.location.search).get(name); } catch(e) { return null; }
|
|
}
|
|
const targetOverride = getParam('target');
|
|
|
|
let popup = null;
|
|
document.getElementById('open').addEventListener('click', () => {
|
|
// If a target override is provided (production domain), open that URL directly
|
|
const urlToOpen = targetOverride ? targetOverride : '/studio.html';
|
|
popup = window.open(urlToOpen, 'studioPopup', 'width=800,height=600');
|
|
log('opened popup: ' + urlToOpen);
|
|
});
|
|
document.getElementById('send').addEventListener('click', () => {
|
|
if (!popup) return log('no popup');
|
|
const payload = { type: 'LIVEKIT_TOKEN', token: 'E2E_TEST_TOKEN', room: 'e2e-room' };
|
|
const target = targetOverride || location.origin;
|
|
try {
|
|
popup.postMessage(payload, target);
|
|
log('posted token to target: ' + target);
|
|
} catch (err) {
|
|
log('postMessage error: ' + String(err));
|
|
}
|
|
});
|
|
|
|
window.addEventListener('message', (e) => {
|
|
log('received: ' + JSON.stringify(e.data) + ' origin:' + e.origin);
|
|
});
|
|
|
|
function log(msg) {
|
|
const p = document.getElementById('log');
|
|
p.textContent += msg + '\n';
|
|
}
|
|
|
|
window.__senderReady = true;
|
|
</script>
|
|
</body>
|
|
</html>
|