小编典典

iframe 和父站点之间如何通信?

all

iframe 中的网站不在同一个域中 ,但两者都是我的,我想在iframe和父站点之间进行通信。是否可以?


阅读 72

收藏
2022-05-27

共1个答案

小编典典

对于不同的域,无法直接调用方法或访问 iframe 的内容文档。

您必须使用跨文档消息传递

父级-> iframe

例如在顶部窗口中:

myIframe.contentWindow.postMessage('hello', '*');

在 iframe 中:

window.onmessage = function(e) {
    if (e.data == 'hello') {
        alert('It works!');
    }
};

iframe -> 父级

例如在顶部窗口中:

window.onmessage = function(e) {
    if (e.data == 'hello') {
        alert('It works!');
    }
};

在 iframe 中:

window.top.postMessage('hello', '*')
2022-05-27