在浏览器控制台中打印console.log(window),如下
层级关系:window-->parent-->frames-->document
window.parent 和 window.opener的区别
window.parent
parent对象始终指向当前窗口的父窗口
window.parent 是iframe页面调用父页面对象
- window.parent(或parent.xxx)在b.html中调用
- parent对象是连接a、b页面的桥梁(可以理解为通讯管道)
拓展:
window.self
self对象指向的就是自己所在的窗口
self和opener都相当于一个指针
self代表自身窗口,opener代表打开自身的那个窗口,比如窗口A打开窗口B
如果靠window.open方法,则对于窗口B,self代表B自己,而opener代表窗口A
window.opener
window.open是window的一个属性方法
用法
window.open(url,name,str)
参数
url:打开新标签的路径
name:新标签的命名
str:新标签的配置项(特殊字符串)
window.opener是对打开当前窗口的window对象的引用
区别
- window.parent范围在于同一个标签页下
-
- 可以理解为父子通信
- window.open范围在于不同的标签页
-
- 可以理解为兄弟通信
- 不同的标签拥有独立的进程