一文理解window、document、parent对象

512 阅读1分钟

在浏览器控制台中打印console.log(window),如下

层级关系:window-->parent-->frames-->document

window.parent 和 window.opener的区别

window.parent

parent对象始终指向当前窗口的父窗口

window.parent 是iframe页面调用父页面对象

  1. window.parent(或parent.xxx)在b.html中调用
  2. 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范围在于不同的标签页
    • 可以理解为兄弟通信
  • 不同的标签拥有独立的进程