BOM:Browser Object Model,浏览器对象模型。BOM是由一系列的对象组成的。其结构如下图所示。
可以看出,window对象是整个BOM的核心,因此,先讨论window对象。
(1)使用框架集的情况下
使用框架集合的情况下,每个框架都由他自身的window对象表示,存放在frames集合中。可以通过数字或者名字对框架进行索引。看例子:
<html>
<head></head>
<frameset rows="100,*">
<frame src="frame.html" name="topFrame" />
<frameset cols="50%,50%">
<frame src="anothorFrame.html" name="leftFrame"/>
<frame src="yetAnothorFrame.html" name="rightFrame"/>
</frameset>
</frameset>
</html>
我们可以通过window.frames[0]或者window.frames["topFrame"]引用顶层的框架。由于window对象是整个BOM的核心,因此再写上面的代码时,可以忽略window对象不写,直接写frames[0]或者frames["topFrame"]即可。
在框架中使用window对象,代表的是该框架本身。因此,还引入了top对象。该对象指向的是对顶层的框架,也就是浏览器窗口。
此外,还有一个parent对象。顾名思义,parent指向该框架的父框架。看例子。
<!--parent.html-->
<html>
<head></head>
<frameset rows="100,*">
<frame src="frame.html" name="topFrame" />
<frameset cols="50%,50%">
<frame src="anothorFrame.html" name="leftFrame"/>
<frame src="anotherframeset.html" name="rightFrame"/>
</frameset>
</frameset>
</html>
其中,anotherframeset.html的代码如下:
<!--anotherframeset.html-->
<html>
<head>
<title></title>
</head>
<body>
<frameset cols="100,*">
<frame src="red.html" name="redFrame"/>
<frame src="blue.html" name="blueFrame"/>
</frameset>
</body>
</html>
如果在red.html或者blue.html中,parent指向parent.html中的rightFrame。如果代码写在parent.html中的topFrame中,那么parent指向top对象,也就是浏览器窗口。还有一个指针self,它总是等于window。
参考书:
《JavaScript高级编程》Nicolas C. Zakas著, 曹力 张欣 等译。
分享到:
相关推荐
Javascript高级编程学习笔记27——BOM1window对象1.docx
为了能够操纵浏览器和文档,JavaScript使用分层的父对象和子对象,这就是“文档对象模型”。这些对象的组织类似一个树型结构,并表示一个Web文档的所有内容和组件。 注意:”文档对象模型”不是JavaScript语言的一...
NULL 博文链接:https://zisefeiniao.iteye.com/blog/387035
此资源为我跟着B站up主【遇见狂神说】java系列视频中前端入门部分学习过程中所写 大部分和视频保持一致,有一些自己的理解和一些扩展的部分
前端学习(五)——Javascript学习笔记(三)对象.xmind
HTML+CSS+JavaScript教程学习笔记HTML+CSS+JavaScript教程学习笔记 HTML+CSS+JavaScript教程学习笔记HTML+CSS+JavaScript教程学习笔记 HTML+CSS+JavaScript教程学习笔记HTML+CSS+JavaScript教程学习笔记 ...
下面小编就为大家带来一篇JavaScript——DOM操作——Window.document对象详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
《javascript》——event对象与事件
JavaScript-学习笔记
Window对象文档,对学习javascript基本的初学者很有帮助
JavaScript基础
Javascript之BOM(window对象)详解_.docx
javascript入门学习笔记,绝对经典
个人Javascript学习笔记 精华版 个人Javascript学习笔记 精华版 个人Javascript学习笔记 精华版
前端学习——javascript学习笔记(二)函数
NULL 博文链接:https://dbajun.iteye.com/blog/242763
JavaScript学习笔记JavaScript学习笔记
ECMAScript是JavaScript的核心,但在web使用JavaScript,那么BOM(浏览器对象模型)才是真正的核心。 BOM的核心对象是window,它表示浏览器的一个实例。 在浏览器中,window对象既是JavaScript访问浏览器窗口的一个...
JavaScript学习笔记之创建对象_.docx
前端学习(六)——javascript学习笔记(四)HTML DOM.xmind