我的确在父窗口和iframe窗口之间用javascript实现了跨窗口通信。
一切正常,但是一旦在父窗口中打开警报窗口,就会在一个超时时间内:
setTimeout(function() { alert('test'); }, 100);
从iframe窗口到父窗口的通信被阻止,直到我关闭警报窗口。
如果警报不是在超时内打开的,则不会阻止iframe和窗口之间的通信,而只会阻塞警报本身,对我来说没事。
有人经历过同样的经历,这怎么解决?
我的代码非常简单:
窗口(父级)
window.addEventListener('message', receiveMessageFromIFrameFunc);
iframe.postMessage( textJson, '*');
iframe
window.addEventListener('message', receiveMessageFromParentFunc);
window.parent.postMessage( textJson, '*');
是否有解决此问题的解决方案?
警报和警报在一个超时时间内的主要区别是什么,为什么超时警报会阻止整个跨窗口通信?