prevent double registration of frame listener
This commit is contained in:
parent
6ad3f7c94b
commit
d0b34fc853
1 changed files with 10 additions and 6 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue