窗口间的关系及交互(一)
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就可以看出这几个窗口之间的关系。具体不在详述
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cpp2017/archive/2007/02/27/1515428.aspx