父窗口,子窗口之间的JS"通信"方法

时间:2022-11-15 22:52:30

今天需要在iframe内做一个弹窗,但使用弹窗组件的为子窗口,所以弹窗只在子窗口中显示掩膜层和定位,这样不符合需求。

后来晓勇哥指点,了解到一个以前一直没关注到的东西,每个窗口的全局变量,其实都存在对应窗口的window对象下,因此只要取到某个窗口的window对象,就可以取得该窗口的全部全局变量,因此就有了父、子窗口之间的JS通信的方法。

子调用父

parent.xx // 父窗口的xx变量或方法
top.xx // 顶层窗口的xx变量或方法

父调用子

document.querySelector('iframe').contentWindow.xx // 父窗口的xx变量或方法