一、BOM的核心对象——Window。
1、window和其他对象的关系——父子
上篇博客中已经介绍了什么是BOM,简单说即是javascript访问,操作浏览器的一个中介。
同样附上BOM对象的图片,从图片中,我们接着介绍BOM对象。
Window对象是BOM中所有对象的核心,是BOM中所有对象的父对象。既然这样,尽管frame ,history ……都是window的子对象,我们只要知道BOM操作的是对象是浏览器窗口(window),那么这些对象就可以直接使用,无需通过“window.”来访问。
2、全局window对象
Window是javascript中的全局对象,所以javascript中的内置函数,还是自定义函数,变量都可以被window调用,是window的属性,和方法。
通过“window.*”来访问。其中内置的函数分为如下几类:
窗体框架控制函数
moveBy()
moveTo()
resizeBy()
resizeTo()
滚动条控制函数
scrollTo()
scrollBy()
特点:这些函数都属于“坐标”函数,所以参数相同:都是(x,y)。
PS:X:横坐标,Y:纵坐标。
To:是针对屏幕而言,By:是相对原先的位置。
窗体焦点控制函数
Focus()
Blur()
新建窗体函数
Open()
Close()
Opener()属性:当通过一个窗体创建出另一窗口时,才有意义使用。(下篇博客介绍关于子窗体操作父窗体的方法)
Open函数接受四个参数,及其含义。
1.url:要加载的 URL;
2.name:窗口的名称,表示一个窗口句柄,可以控制一个语句重复创建的问题。
_blank 表示新开一个窗口;
_parent表示父框架窗口;
_self表示覆盖该窗口;
xxx表示覆盖名字为xxx的窗口。
3.features:一个特性字符串;可以通过它设置不同的属性,来将一个窗口伪装成弹出框。
4.replace:一个表示新页面是否取代浏览器记录中当前加载页面的布尔值。
参数不同,不同的三种打开方式:
open('http://www.baidu.com'); //新建页面并打开百度 __每次刷新,都会一直新建,窗口越来越多
open('http://www.baidu.com','baidu'); //新建页面并命名窗口并打开百度,而且如果再次打开还是同样的name,那么将会在该页面上进行加载,不会重新打开一个新窗口。
open('http://www.baidu.com','_parent'); //在本页窗口打开百度,_blank是新建
对话框函数
Alert():警告框,最常用
Confirm():确认框
Prompt():输入框
间隔函数和时间等待函数
setTimeout()
clearTimeout()
setInterval()
clearInterval()
PS:clear是清除函数设置。
状态栏属性
defaultStatus:设置浏览器默认的状态栏显示信息
Status:想要改变浏览器状态栏信息时,使用该属性。
那么一起来看看一个窗口(window)都会包含什么对象呢?
二、windows的子对象
1、Doucment
用于表现HTML页面当前窗体的内容,其实就是DOM对象,这里不再赘述。
2、frames
用于表现当前窗口中的Frame集合。这种窗口是一种特殊的窗口,它可以在一个窗口显示多个独立滚frame。
如果页面使用框架,将产生一个框架集合frames,在集合中可用数字(从0开始,从左到右,逐行索引)或名字索引框架。这些框架在HTML中使用标签<frames>即可添加。
<framesetcols="25%,50%,25%">
<frame src="frame_a.htm"/>
<frame src="frame_b.htm"/>
<frame src="frame_c.htm"/>
</frameset>
PS:没有结束标签。
以上解释是查找所得,自己没有涉及到还,不过感觉它的作用应该还是想我们平常使用“frame”控件,一个盛放其他空间或内容的一个容器。
3、history
这个就简单了,顾名思义,就是我们浏览网页的前进,后退的导航功能。
涉及到的函数有,go(),back(),forward()。
4、navigator
用来检测浏览器的版本,也成浏览器嗅探器。
5、location
它表示当前页面跟URL有关的“位置”。
6、screen
用于获取跟用户有关的屏幕信息。例如坐标信息。