Skip to content

Commit 9f8d858

Browse files
committed
Select window for finder events subscription if parent defaultView is not available; Other minor optimizations
1 parent f1a3c52 commit 9f8d858

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/Finder.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ export class FrontifyFinder {
3434
}
3535

3636
private subscribeToFinderEvents() {
37-
this.unsubscribe = subscribeToEvents(window, 'message', (event: MessageEventInit) => {
38-
// Ensure the events are originating form the right source
39-
if (this.iFrame.contentWindow !== event.source || event.origin !== this.origin || !this.parentNode) {
37+
const windowObject = this.parentNode?.ownerDocument?.defaultView || window;
38+
this.unsubscribe = subscribeToEvents(windowObject, 'message', (event: MessageEventInit) => {
39+
// Ensure the events are originating from the right source
40+
if (this.iFrame.contentWindow !== event.source || event.origin !== this.origin) {
4041
return;
4142
}
4243

@@ -67,7 +68,7 @@ export class FrontifyFinder {
6768

6869
logMessage('warning', {
6970
code: 'WARN_FINDER_UNKNOWN_EVENT',
70-
message: 'Unknown event from Frontify Finder',
71+
message: 'Unknown event from Frontify Finder.',
7172
});
7273
});
7374
}
@@ -152,8 +153,8 @@ export class FrontifyFinder {
152153
throw new FinderError('ERR_FINDER_ALREADY_MOUNTED', 'Frontify Finder already mounted on a parent node.');
153154
}
154155

155-
this.subscribeToFinderEvents();
156156
this.parentNode = parentNode;
157+
this.subscribeToFinderEvents();
157158
this.parentNode.appendChild(this.iFrame);
158159
}
159160

0 commit comments

Comments
 (0)