parent.window ,window.parent ,window.opener,opener.window的区别与用法

parent.window ,window.parent ,window.opener,opener.window的区别:


window.opener,opener.window是等价的,

window.parent与parent.window是等价的。
若页面是用window.open()打开,则子页面拥有window.opener对象与window.parent对象,但页面之间并无父子关系,只有打开与被打开关系,所以window.parent即为自身,window.opener为父窗口。
若页面是用链接打开的,被打开页面与打开它的页面之间并无父子关系,也无打开与被打开关系,所以子页面即为是顶层页面,其window.parent与parent.window对象也是自身,window.parent.close()与parent.window.close()均为关闭本窗口,window.opener对象为父窗口对象(原因不明,可浏览器内部解析链接打开方式与open打开一样)。
那window.parent有神马作用?

当页面中有多个iframe时,就派上了用场,window.parent.frames[数值] 、window.parent.framesName 据此,可访问各个子窗口(多框架)所在的父窗口或子窗口。

你可能感兴趣的:(parent.window ,window.parent ,window.opener,opener.window的区别与用法)