js中opener和parent的区别

JavaScript012

js中opener和parent的区别,第1张

窗口A的window.opener是指调用某行代码打开窗口A的窗口B,比如说窗口B中有代码window.open('窗口A'),那么窗口B就是窗口A的opener;

如果窗口B中有一个iframe或frameset,而框架中指定的是页面A,那么A的parent就是B。

换句话说,如果A是B的parent,那么A和B一定在同一个页面里;如果A是B的opener,那么B之所以被打开,一定是因为A中有什么代码触发。

1、建立父级页面,首先建立一个父级页面parent.html,代码如图,一个pop函数方法,一个链接到child.html的iframe标签;

2、建立子页面,再新建一个child.html页面,如图,展示一个id=link的div标签,和link的点击事件,因为是调用父级方法,所以需要用到window.parent.pop()方法。

3、预览页面,预览页面,可明显看到parent.html里面的iframe框架,指向的就是child子页面

4、错误提示,点击页面中“调用父级pop方法”的文字链,会提示错误,这是因为没配置好域名等相关设置。

5、站点配置,打开iis,右键iframe文件夹——“管理文件夹”——“浏览”;即可打开本地测试地址;(如小伙伴没配置iis,需要先配置iis建立站点)

6、成功调用父级方法,再次点击“调用父级pop方法”的文字链,即可成功弹出提示。