×

[JavaScript学习]JavaScript浏览器对象-window对象

作者:admin2016.11.11来源:Web前端之家浏览:7544评论:0
微信公众号

微信公众号

在上一篇文章中我们介绍了"JavaScript浏览器对象-navigator对象"。今天将继续学习:JavaScript浏览器对象-window对象。

600.png

窗口是JavaScript浏览器对象模型中的顶层对象,称为window对象,它代表了打开的浏览器窗口,这是一个全局对象。

窗口也可以划分为几个独立的显示区域,每一个区域显示相对独立的内容,这样的区域称为框架,它实际上是窗口中的窗口。关于框架将会在后面进行介绍。

window对象的属性和方法

窗口对象是所有其他对象的基础,它有一组属性和方法,用于控制窗口的特征和行为。由于窗口对象十分复杂,又是其他对象的父对象,因此,在使用窗口对象的属性和方法时,JavaScript允许省略窗口对象的名称。例如,使用窗口对象的alert()方法来显示一个弹出的消息框时,标准的写法应该是:window.alert("message"),但是JavaScript允许使用简略的写法:alert("message")

窗口对象提供了一组丰富的属性和方法,其中某些属性本身又是对象,这是面向对象编程的一个特点。下表中列出了window对象的常用属性。

属性 描述
closed 指明窗口是否已经被关闭,只读属性,true表示已关闭,false表示未关闭
defaultStatus 指定浏览器下方状态栏中显示的默认信息。只要状态栏中没有显示其他消息,就显示该属性指定的信息
document 只读属性,为当前窗口或框架包含的Document对象的引用
frames[] 记录窗口中包含的框架,每一个框架都是一个window对象,框架本身可以嵌套
history 指向history对象的引用,只读属性
length 窗口中包含的框架个数
location 用于本窗口的location对象。该属性的行为比较特殊,如果将一个URL复制给该属性,那么浏览器就加载并显示该URL指定的文档
name 窗口的名称,窗口的名称可以通过window.open()方法指定,也可以在<frame>标记中使用name属性指定
navigator 执行navigator对象的引用,只读属性。通过navigator对象,程序可以了解浏览器的基本信息
opener 指向打开本窗口的窗口的引用
parent 一个只读引用,指向包含本窗口或框架的窗口。如果本窗口为顶层窗口,那么该属性指向自己
screen 指向screen对象的引用,只读属性
self 指向窗口本身的引用,与window属性的意义完全相同
status 指定浏览器状态栏中显示的临时信息
top 一个只读引用,指向包含本窗口的最顶层窗口,如果本窗口就是最顶层窗口,那么该属性指向自己
window 当前窗口,与self属性意义相同
clientInformation 该属性只用于IE浏览器,是navigator属性的别名
event 该属性只用于IE浏览器,指向Event对象,Event对象包含了最近发生事件的细节。在IE对象模型中,Event对象没有作为事件处理程序的参数传递,而是赋值给了event属性
innerHeight,innerWidth 只适用于Netscape 4+,指定窗口总的高度、宽度,以像素为单位。该区域包括菜单栏、工具栏、滚动条和窗口边框
outerHeight,outerWidth 只适用于Netscape 4+,指定窗口总的高度、宽度,以像素为单位。该区域包括菜单栏、工具栏、滚动条和窗口边框
pageXOffset,pageYOffset 整数型只读值,指定当前文档已经向右(pageXOffset)、向下(pageYOffset)滚动了多少像素
screenX,screenY 整数型只读值,指定窗口左上角在屏幕的x,y坐标。如果当前窗口是框架,那么这两个属性指定框架左上角在顶层窗口上的x,y坐标

window对象的方法:

方法 描述
alert(message) 弹出对话框,显示message信息,无返回值
blur() 从窗口中移去键盘输入焦点,无返回值
clearInterval(intervalId) 清除先前设置的定时器,无返回值
clearTimeout(timeoutId) 清除先前设置的超时,无返回值
close() 关闭窗口,无返回值
confirm(question) 显示一个确认对话框,单击“确定”按钮时返回true,否则返回false
focus 得到键盘的输入焦点,同时将该窗口放在其他窗口的前面,无返回值
getComputedStyle(elt) 返回一个只读的style对象,它包含了应用于指定文档元素elt的所有CSS样式(不仅仅是嵌入样式)。从这个计算样式对象查询得到的定位属性(如left,top,width等)总是以像素值返回
moveBy(dx,dy) 将窗口从当前位置移动指定的距离,无返回值
moveTo(x,y) 将窗口移动到指定的位置,无返回值
open(url,name,features) 在name参数指定的窗口中显示url指定的文档。如果省略了name参数,或没有name参数指定的窗口,那么将创建一个新的窗口。features是可选参数,这是一个字符串,用于指定新窗口的大小和样式。字符串中,使用逗号分隔各个特性。所有的平台都支持的特性名称有:width=pixels,height=pixels,location,menubar,resizable,status和toolbar。在IE中,使用left=x和top=y设置窗口的位置;在Netscape中,使用screenX=x和screenY=y来设置窗口的位置。该方法返回现有窗口对象或新建窗口对象。
print() 打印文档内容,相当于用户点击了浏览器中的“打印”按钮,无返回值
prompt(message,default) 打开一个提示对话框,显示message指定的内容,并等待用户输入一段文字。default参数是可选参数,指定在输入框中最初显示的内容,返回值为字符串;如果输入框中没有字符,则返回空字符串;如果单击了“取消”按钮,则返回null值
resizeBy(dw,dh) 将窗口缩放到指定的大小,无返回值
resizeTo(width,height) 将窗口的大小修改为指定的宽度和高度
scroll(x,y) 将窗口的内容(文档)滚动到指定的坐标,无返回值。在JavaScript1.2后被scrollTo()方法替代
scrollBy(dx,dy) 将窗口的内容(文档)滚动到指定的量,无返回值
scrollTo(x,y) 将窗口的内容(文档)滚动到指定的位置,无返回值
setInterval(code,interval,args...) 每隔interval指定的毫秒数就执行一次code字符串指定的代码。IE5及以后的版本中,code参数可以用函数引用来代替字符串,此时,每隔interval指定的毫秒数就执行一次该函数。该方法返回一个内部的ID值,该值可以传递给clearInterval()方法来取消代码的周期执行
setTimeout(code,delay) 在延迟delay参数指定的毫秒数之后执行code字符串指定的代码。IE5及以后的版本中,code参数可以用函数引用来代替字符串,此时,延迟delay指定的毫秒数就执行一次该函数。该方法返回一个内部的ID值,该值可以传递给setTimeout()来取消延迟执行的代码。注意,该方法是立即返回,并不是在返回之前等待delay指定的毫秒数