iFrame 与父站点之间的跨域通信
当 iframe 的网站驻留在不同域时,iframe 与父站点之间可以直接通信父网站成为一个挑战。然而,跨文档消息传递可以弥补这一差距。
父级到 Iframe 通信
在父窗口中,您可以使用 postMessage() 向iframe 的 contentWindow:
myIframe.contentWindow.postMessage('hello', '*');
在 iframe 端,onmessage 事件可以捕获并处理message:
window.onmessage = function(e) { if (e.data == 'hello') { alert('It works!'); } };
iframe 到父窗口的通信
要将消息从 iframe 发送到父窗口,可以将 postMessage() 与 window.top 一起使用作为目标:
window.top.postMessage('hello', '*')
在父窗口中,onmessage 事件会接收并处理 iframe 的message:
window.onmessage = function(e) { if (e.data == 'hello') { alert('It works!'); } };
通过利用跨文档消息传递,您可以在来自不同域的 iframe 与其父站点之间建立双向通信。
以上是如何实现IFrame与其父网站之间的跨域通信?的详细内容。更多信息请关注PHP中文网其他相关文章!