Skip to content

Commit

Permalink
fix: remove postemsasgeiframe listener on close
Browse files Browse the repository at this point in the history
  • Loading branch information
shanejonas committed Dec 7, 2020
1 parent 9abb044 commit 907dd0d
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions src/transports/PostMessageIframeTransport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,20 @@ class PostMessageIframeTransport extends Transport {
frame = iframe.contentWindow;
});
}
private messageHandler = (ev: MessageEvent) => {
if (ev.origin === window.origin) {
return;
}
this.transportRequestManager.resolveResponse(JSON.stringify(ev.data));
}
public connect(): Promise<any> {
const urlRegex = /^(http|https):\/\/.*$/;
return new Promise(async (resolve, reject) => {
if (!urlRegex.test(this.uri)) {
reject(new Error("Bad URI"));
}
this.frame = await this.createWindow(this.uri);
window.addEventListener("message", (ev: MessageEvent) => {
if (ev.origin === window.origin) {
return;
}
this.transportRequestManager.resolveResponse(JSON.stringify(ev.data));
});
window.addEventListener("message", this.messageHandler);
resolve();
});
}
Expand All @@ -55,6 +56,7 @@ class PostMessageIframeTransport extends Transport {
public close(): void {
const el = document.getElementById(this.postMessageID);
el?.remove();
window.removeEventListener("message", this.messageHandler);
}

}
Expand Down

0 comments on commit 907dd0d

Please sign in to comment.