Skip to content

Commit e8caa1d

Browse files
committed
fix: assign clickedElementListenerAdded = true and improve eroor catching
1 parent 75c51cf commit e8caa1d

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

src/index.js

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,25 @@
1717
});
1818

1919
try {
20-
let frameDocuments = window.top.frameDocuments;
21-
if (!frameDocuments) {
22-
window.top.frameDocuments = new Map();
23-
frameDocuments = window.top.frameDocuments;
24-
}
2520
let frames = document.querySelectorAll('iframe');
2621
for (let frame of frames) {
27-
let frameDocument = frame.contentDocument;
28-
if (!frameDocuments.has(frameDocument)) {
29-
frameDocuments.set(frameDocument, '')
30-
frameDocument.addEventListener('click', e => {
31-
frameDocument.clickedElement = e.target;
32-
});
22+
try {
23+
let frameDocument = frame.contentDocument;
24+
if (!frameDocument.clickedElementListenerAdded) {
25+
frameDocument.addEventListener('click', e => {
26+
frameDocument.clickedElement = e.target;
27+
});
28+
29+
// Mark the document to avoid adding duplicate listeners
30+
frameDocument.clickedElementListenerAdded = true;
31+
}
32+
} catch (iframeError) {
33+
console.log(`Cross-origin frame handling failed for: ${frame}`, iframeError);
3334
}
3435
}
35-
3636
} catch (e) {
37-
console.log('cross-origin failed')
37+
console.log('Top-level frame document handling failed:', e);
3838
}
39-
4039
}
4140

4241
/**

0 commit comments

Comments
 (0)