rip*_*234 5 javascript html5 postmessage cross-domain
我正在考虑直接使用window.postMessage进行跨域通信.
如果我做:
postMessage() 来自父框架window.addEventListener("message", callback, false); 来自孩子的iframe我在加载iframe之前发布的消息何时会被执行?他们保证会被执行吗?有定时保证吗?
我想从顶部框架传递一个影响子框架初始化的参数.
小智 7
postMessage()函数是异步的,这意味着它将立即返回.所以你不能与它进行同步通信.
在您的示例中,发布的消息将在void中消失,因为在执行postMessage()函数时没有消息事件的侦听器.
如果您先加载iframe并在之后调用postMessage(),那么可能会出现计时问题.(根据我的经验,没有,父代码总是先执行,但我不确定这一点.)
以下是我不知道iframe何时准备好的问题的解决方案.
在父窗口中:
在iframe中:
无论谁收到来自另一方的第一条消息,都会启动真正的通信.
根据我的经验,从父节点到iframe的消息总是丢失,因此当父节点从iframe接收消息时通信开始.但是在这个设置中,首先启动哪一个并不重要.
| 归档时间: |
|
| 查看次数: |
6512 次 |
| 最近记录: |