Js中的window.parent ,window.top,window.self 详解

在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法创建新窗口的 窗口

 

window.self

功能:是对当前窗口自身的引用。它和window属性是等价的。

语法:window.self

注:window、self、window.self是等价的。

 

window.top

功能:返回顶层窗口,即浏览器窗口。

语法:window.top

注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。

 

window.parent

功能:返回父窗口。

语法:window.parent

注:如果窗口本身是顶层窗口,parent属性返回的是对自身的引用。

在框架网页中,一般父窗口就是顶层窗口,但如果框架中还有框架,父窗口和顶层窗口就不一定相同了。

 

判断当前窗口是否在一个框架中:

<script type="text/javascript">
var b = window.top!=window.self;
document.write( "当前窗口是否在一个框架中:"+b );
</script>

你应当将框架视为窗口中的不同区域,框架是浏览器窗口中特定的部分。一个浏览器窗口可以根据你的需要分成任意多的框架,一个单个的框架也可以分成其它多个框架,即所谓的嵌套框架

转载地址:http://blog.csdn.net/zdwzzu2006/article/details/6047632

helloword








top.html

<html>

<body>

<div>top</div>

<iframe src="parent.html" name="top" width="100%" height="100%">

</iframe>

</body>

</html>

parent.html

<html>
<body>

<div>parent</div>

<iframe src="self.html" name="parent"  width="100%" height="100%"></iframe>

</body>

</html>


self.html

<html>

<body  width="100%" height="100%">

<div>self</div>

<input type="button" value="close_parent" οnclick="window.parent.close()"/>//无效果

//window.parent 可以获取name=top的iframe

//window.parent.parent 可以获取top.html ,这里iframe嵌套了两层 window.parent.parent.close();可以将顶级的top.html关闭

//window.top 获取top.html

<input type="button" value="close_top" οnclick="window.top.close()"/>//同样可以将顶级的top.html关闭

</body>

</html>

opener 属性是一个可读可写的属性,可返回对创建该窗口的 Window 对象的引用。

opener.html

<script type="text/javascript">

var openWin;

function openit(){

openWin=window.open('self.html');

alert(openWin.opener==window);//true

}
</script>
<html>
<body>
<div>closeopen</div>
<div οnclick="openit()">open</div>
<div οnclick="openWin.close()">openerclose</div> //可以关闭打开的新窗口

</body>
</html>




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值