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.parent==window.self;
    document.write( "当前窗口是否是底层窗口:"+b );
</script>

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

parent与opener的区别:
parent指父窗口,在frameset中,frame的parent就是frameset窗口。
opener指用window.open方式创建的新窗口对应的原窗口。
parent是相对于框架来说父窗口对象。
opener是针对于用window.open打开的窗口来说的父窗口,前提是window.open打开的才有。
附:Window对象、Parent对象、Frame对象、Document对象和Form对象的阶层关系。
Window对象→Parent对象→Frame对象→Document对象→Form对象。
如下: parent.frame.document.forms[0].elements[0].value。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 摘要:Window 对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局...
    晓小东_1920阅读 350评论 0 2
  • 人丑就该多看书 文章来自其他博文。 *.location.href 用法: javascript> functio...
    樱花树下_529d阅读 415评论 0 0
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,377评论 1 41
  • **1.document.write(""); 输出语句 ****2.JS中的注释为// ****3.传统的HTM...
    reallychao阅读 1,737评论 1 40
  • 第8章 BOM 本章内容主要是 理解window对象 控制窗口、框架和弹出窗口 利用location对象中的页面信...
    丨ouo丨阅读 561评论 0 1