1.window.parent
当前窗口的上一级窗口,当前窗口可以是在iframe 中或是frameset 的一个frame中
2.window.top 当前窗口的最顶级窗口。
不管当前窗口是嵌了多少层或是通过iframe 或是frame嵌套,window.top 将返回最外层窗口。
说明:如果当前窗口不在iframe 或frame 中,window.top 或window.parent 将返回本窗口对象。
3.window.opener
通过window.opener方式打开当前窗口的窗口。
4.window.窗口名称
访问当前窗口的子窗口通过window的name 来访问。
举个简单的例子现在有a.htm,b.htm,c.htm,d.htm四个文件。
a.htm
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html xmlns ="http://www.w3.org/1999/xhtml" > < head > < title > 无标题页 </ title > </ head > < body bgcolor ="blue" > AAAAAAAAAAAA < iframe src ="b.htm" name ="bChild" ></ iframe > </ body > </ html >
b.htm
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html xmlns ="http://www.w3.org/1999/xhtml" > < head > < title ></ title > </ head > < body bgcolor ="green" > BBBBBBBB < input type ="button" value ="click" onclick ="javascript:Show();" /> </ body > </ html > < script type ="text/javascript" > function Show() { alert( " B的parent窗口是: " + window.parent.location.pathname); alert( " B的top窗口是: " + window.top.location.pathname); var a = window.parent; alert( " a的parent窗口是: " + a.parent.location.pathname); alert( " a的top窗口是: " + a.top.location.pathname); var c = a.parent; alert( " c的parent窗口是: " + c.parent.location.pathname); alert( " c的top窗口是: " + c.top.location.pathname); var d = window.top; alert( " d.cChild窗口是 " + d.cChild.location.pathname); alert( " a.bChild窗口是 " + a.bChild.location.pathname); } </ script >
c.htm
< html > < body bgcolor ="red" > CCCCCCCCCC < iframe src ="a.htm" ></ iframe > </ body > </ html >d.htm
< html > < frameset rows ="50%,*" > < frame src ="c.htm" name ="cChild" /> < frame /> </ frameset > </ html >
通过浏览器访问d.htm就可以看出这几个窗口之间的关系。具体不在详述。