iframe 父子页面通信
时间: 2023-07-19 14:56:17 浏览: 127
关于Iframe父页面与子页面之间的相互调用
在父页面中,可以通过 `window.frames` 属性获取到子页面的引用,然后调用子页面的方法或者属性来实现通信。而在子页面中,可以通过 `window.parent` 属性获取到父页面的引用,然后调用父页面的方法或者属性来实现通信。
另外,HTML5 提供了一种跨域通信的方案,即使用 `postMessage` 方法。通过该方法,可以在不同域名下的页面之间实现通信。具体操作可以参考以下代码:
在父页面中:
```
const iframe = document.getElementById('myFrame');
iframe.contentWindow.postMessage('hello', 'http://childpage.com');
```
在子页面中:
```
window.addEventListener('message', function(event) {
if (event.origin !== 'http://parentpage.com') return;
console.log(event.data);
});
```
上述代码中,通过 `postMessage` 方法向指定域名的页面发送消息,然后在子页面中通过 `window.addEventListener` 监听 `message` 事件,从而接收到父页面发送的消息。
阅读全文