HTML 允许使用 frameset 和 frame 标签创建框架集页面。另外,也可以在文档中使用 iframe 标签创建浮动框架。这两种类型的框架性质是相同的。
每一个框架都有自己的 window 对象,并且保存在 frames 集合中。在集合中,可以通过数字索引从左至右、由上到下访问每一个 window 对象。每一个 window 对象都有一个 name 属性,其中包含了框架的名称。
在每一个框架中, window 都指向哪一个框架实例,而非最高层的框架; top 对象始终指向最高层框架,也就是浏览器窗口; parent 始终指向当前框架的上一层。
属性 | 说明 |
---|---|
top | 如果是当前框架,就是对包含这个框架的顶级框架窗口的 window 对象的引用。注意,对于嵌套在其它框架中的框架, top 未必等于 parent |
parent | 如果当前窗口是框架,它就是对窗口中包含这个框架的父级框架引用 |
window | 自引用,是对当前 window 对象的引用,与 self 属性同义 |
self | 只引用,是对当前 window 对象的引用,与 window 属性相同 |
frames[] | window 对象集合,代表窗口中的各个框架 |
name | 窗口的名称,可被 HTML 标签的 <a> 属性使用 |
opener | 对打开当前窗口的 window 对象的引用 |
self 对象,它是终极 window 属性,始终会指向 window 。实际上, self 和 window 就 是同一个对象。之所以还要暴露 self ,就是为了和 top 、 parent 保持一致。
这些属性都是 window 对象的属性,因此访问 window.parent 、 window.top 和 window.self 都可以。这意味着可以把访问多个窗口的 window 对象串联起来,比如 window.parent.parent 。