I have a modal which the content was an iFrame and hosted by third party which is not same origin, the content in the modal has a close button that is use for dismiss the modal, I use window.postMessage
as below:
<button class="button dismiss" type="button">Continue Browsing</button>
<script>
$(".button.dismiss").click(function(e) {
e.preventDefault();
try {
parent.postMessage('closed', 'https://www.myexample.com/');
} catch (e) {
window.console && window.console.log(e);
}
});
</script>
in my parent site (myexample.com):
<script>
window.addEventListener('message', function (e) {
if (e.origin === 'https://www.thirdpartysite.com' && e.data === 'closed') {
$('#modalForm').modal('hide');
}
}, false);
</script>
By this method, it's working on Windows based browser, but not working when tested on browser on Mac,
Can someone please point out what is the issue?
question from:
https://stackoverflow.com/questions/65558057/cannot-closed-modal-by-the-close-button-wrapped-in-an-iframe-on-mac 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…