javascript之BOM
学习要点:
BOM介绍
Window对象
一、BOM介绍
浏览器对象模型简称为BOM(Brower Object Model),BOM由很多对象构成,对象与对象之间有着相互联系。
BOM结构示意图如下:
二、Window对象
Window对象是一个全局对象,是所有对象的顶级对象。对于每个打开的窗口,系统都会自动为其定义 window 对象。
1、Window对象的属性和方法
属性 |
含义 |
closed |
当窗口关闭时为真 |
defaultStatus |
窗口底部状态栏显示的默认状态消息 |
document |
窗口中当前显示的文档对象 |
frames |
窗口中的框架对象数组 |
history |
保存有窗口最近加载的URL |
length |
窗口中的框架数 |
location |
当前窗口的URL |
name |
窗口名 |
offscreenBuffering |
用于绘制新窗口内容并在完成后复制已存在的内容,控制屏幕更新 |
opener |
打开当前窗口的窗口 |
parent |
指向包含另一个窗口的窗口(由框架使用) |
screen |
显示屏幕相关信息,如高度、宽度(以像素为单位) |
self |
指示当前窗口。 |
status |
描述由用户交互导致的状态栏的临时消息 |
top |
包含特定窗口的最顶层窗口(由框架使用) |
window |
指示当前窗口,与self等效 |
方法 |
功能 |
alert(text) |
创建一个警告对话框,显示一条信息 |
blur() |
将焦点从窗口移除 |
clearInterval(interval) |
清除之前设置的定时器间隔 |
clearTimeOut(timer) |
清除之前设置的超时 |
close() |
关闭窗口 |
confirm() |
创建一个需要用户确认的对话框 |
focus() |
将焦点移至窗口 |
open(url,name,[options]) |
打开一个新窗口并返回新window对象 |
prompt(text,defaultInput) |
创建一个对话框要求用户输入信息 |
scroll(x,y) |
在窗口中滚动到一个像素点的位置 |
setInterval(expression,milliseconds) |
经过指定时间间隔计算一个表达式 |
setInterval(function,millisenconds,[arguments]) |
经过指定时间间隔后调用一个函数 |
setTimeout(expression,milliseconds) |
在定时器超过后计算一个表达式 |
setTimeout(expression,milliseconds,[arguments]) |
在定时器超过时后计算一个函数 |
print() |
调出打印对话框 |
find() |
调出查找对话框 |
2、Window对象事件
常用的Window对象事件包括blur、error、focus、load、move、resize和unload七种。
(1)、装载/卸载文档
Window对象中的load事件通常作用在BODY元素中,也可以作用在IMG元素中。当作用在BODY元素中时,只有当整个网页都加载完毕后才会被激发。
与load事件相反,unloaded事件是在浏览器窗口卸载文档时激发的事件。以下3种操作会激发unloaded事件:
文档从一个内容换到另一个;浏览器关闭;刷新浏览器窗口。
(2)、得到焦点与失去焦点
当浏览器窗口得到焦点时可以触发focus事件,得到焦点是指浏览器窗口为当前的活动窗口。
当浏览器窗口失去焦点时可以触发blur事件。
(3)系统对话框
警告框:window.alert(message);
确认框:window.confirm(message);
提示框:window.prompt(message,defaultText);defaultText参数值为提示框的输入框的默认文字。
(4)新开窗口
window.open(url,windowName,features,replace)
(5)、移动窗口
window.moveTo(x,y);//绝对位置
window.moveBy(x,y);//相对位置
(6)调整窗口大小
window.resizeTo(x,y);//绝对大小
window.resizeBy(x,y);//相对大小
(7)、超时与时间间隔
window.setTimeout(code,delay);//延迟代码的执行时间
window.clearTimeout(id);//取消延迟代码的执行时间,id为setTimeout()方法的返回值。
window.setInterval(code,interval);//周期性执行代码
window.clearInterval(id;//停止周期性执行代码,id为setInterval()方法的返回值。