iframe子页面和父页面如何传值通信

业务场景,在index.html的主页面中,我们希望嵌套子页面,这时候就涉及到父子页面的通信问题。

以下的都是在同域的基础上的:

  • 1. 相互获取dom元素

在父页面获取子页面的dom元素:

// 先获取iframe的Id,再在iframe所在的document找dom元素,根据id查找;
document.getElementById(‘iframe_id).contentWindow.document.getElementById('domId');

子页面获取父页面的dom元素

// window.parent可以回到父页面
window.parent.document.getElementById('mask_id'); 
  • 2. 相互调用方法

父页面调用子页面方法:

iframeName.window.childMethod();

子页面调用父页面方法:

parent.window.parentMethod();

  • 3. 相互调用变量

子页面访问父页面变量:

parent.父页面变量;

父页面访问子页面变量:

document.getElementById('iframe_id').子页面变量;