HTML Iframe 交互方法详解:跨页面通信与内容访问
HTML Iframe 交互方法详解:跨页面通信与内容访问
HTML 与 iframe 之间可以通过以下几种方式进行交互:
- 向 iframe 发送消息:可以使用
postMessage()方法向 iframe 发送消息。在父页面中使用该方法发送消息,iframe 页面中通过监听message事件来接收消息。
父页面中的代码:
var iframe = document.getElementById('myIframe');
iframe.contentWindow.postMessage('Hello from parent!', '*');
iframe 页面中的代码:
window.addEventListener('message', function(event) {
if (event.data === 'Hello from parent!') {
// 处理收到的消息
}
});
- 获取 iframe 中的内容:可以使用
contentWindow属性来获取 iframe 的window对象,进而可以操作 iframe 中的内容。
var iframe = document.getElementById('myIframe');
var iframeWindow = iframe.contentWindow;
- 在 iframe 中调用父页面中的函数:可以使用
window.parent来调用父页面中的函数,前提是父页面中的函数需要是全局可见的。
父页面中的代码:
function parentFunc() {
console.log('This is a function in parent page');
}
iframe 页面中的代码:
window.parent.parentFunc();
需要注意的是,由于安全原因,如果 iframe 和父页面不在同一个域下,以上方法可能会受到限制。
原文地址: https://www.cveoy.top/t/topic/p52m 著作权归作者所有。请勿转载和采集!