prevent double registration of frame listener

This commit is contained in:
Stewart Allen 2025-12-06 19:43:41 -05:00
commit d0b34fc853

View file

@ -26,6 +26,14 @@
} }
} }
function onMessage(msg) {
let { origin, source, target, data } = msg;
console.log({ msg });
if (source.window === cwin) {
recv(msg);
}
}
let API = KIRI.frame = { let API = KIRI.frame = {
setFrame: (io, target) => { setFrame: (io, target) => {
let type = typeof(io); let type = typeof(io);
@ -35,12 +43,8 @@
case 'object': setFrame(io); break; case 'object': setFrame(io); break;
default: throw `invalid frame type ${type}`; default: throw `invalid frame type ${type}`;
} }
window.addEventListener('message', msg => { window.removeEventListener('message', onMessage);
let { origin, source, target, data } = msg; window.addEventListener('message', onMessage);
if (source.window === cwin) {
recv(msg);
}
});
}, },
send: send, send: send,