他是JavaScript中最大的对象,它描述的是一个浏览器窗口。一般要引用它的属性和方法时,不需要用window.xxx这种形式,而直接使用xxx。一个框架页面也是一个窗口。
Window窗口对象有如下属性:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
name 窗口的名称,由打开它的连接(a target="...")或框架页(frame name="...")或某一个窗口调用的 open() 方法(见下)决定。一般我们不会用这个属性。
status 指窗口下方的状态栏所显示的内容。通过对 status 赋值,可以改变状态栏的显示。
opener 用法:window.opener;返回打开本窗口的窗口对象。注意:返回的是一个窗口对象。如果窗口不是由其他窗口打开的,在 Netscape 中这个属性返回 null;在 IE 中返回未定义(undefined)。undefined 在一定程度上等于 null。注意:undefined 不是 JavaScript 常数,如果你企图使用undefined,那就真的返回未定义了。
self 指窗口本身,它返回的对象跟 window 对象是一模一样的。最常用的是self.close(),放在a标记中:a href="javascript:self.close()"关闭窗口/a。
parent 返回窗口所属的框架页对象。
top 返回占据整个浏览器窗口的最顶端的框架页对象。
history 历史对象,见下。
location 地址对象,见下。
document 文档对象,见下。
Window窗口对象有如下方法:
第一个方法是open() 打开一个窗口。
用法:open(URL字符串, 窗口名称字符串, 参数字符串);
说明:
URL字符串:描述所打开的窗口打开哪一个网页。如果留空(''),则不打开任意网页。
窗口名称字符串:描述被打开的窗口的名称(window.name),可以使用'_top'、'_blank'等内建名称。这里的名称跟a href="..." target="..."里的target属性是一样的。
参数字符串:描述被打开的窗口的样貌。如果只需要打开一个普通窗口,该字符串留空(''),如果要指定样貌,就在字符串里写上一到多个参数,参数之间用逗号隔开。
例:打开一个 400 x 100 的干净的窗口:open('','_blank','width=400,height=100,menubar=no,toolbar=no,
location=no,directories=no,status=no, scrollbars=yes,resizable=yes')
open()的参数
top=# 窗口顶部离开屏幕顶部的像素数
left=# 窗口左端离开屏幕左端的像素数
width=# 窗口的宽度
height=# 窗口的高度
menubar=... 窗口有没有菜单,取值yes或no
toolbar=... 窗口有没有工具条,取值yes或no
location=... 窗口有没有地址栏,取值yes或no
directories=... 窗口有没有连接区,取值yes或no
scrollbars=... 窗口有没有滚动条,取值yes或no
status=... 窗口有没有状态栏,取值yes或no
resizable=... 窗口给不给调整大小,取值yes或no
注意:open() 方法有返回值,返回的就是它打开的窗口对象。比如var newWindow = open('','_blank');
这样把一个新窗口赋值到newWindow变量中,以后通过newWindow变量就可以控制窗口了。
close() 关闭一个已打开的窗口。
用法:window.close()
或self.close()
主要作用是关闭本窗口;
窗口对象.close():关闭指定的窗口。注意如果该窗口有状态栏,调用该方法后浏览器会警告:网页正在试图关闭窗口,是否关闭?然后等待用户选择是否;如果没有状态栏,调用该方法将直接关闭窗口。
另外Window窗口对象还有如下方法
blur() 使焦点从窗口移走,窗口变为非活动窗口。
focus() 是窗口获得焦点,变为活动窗口。不过在 Windows 98,该方法只能使窗口的标题栏和任务栏上的相应按钮闪烁,提示用户该窗口正在试图获得焦点。
scrollTo() 用法:[窗口对象.]scrollTo(x, y);使窗口滚动,使文档从左上角数起的(x, y)点滚动到窗口的左上角。
scrollBy() 用法:[窗口对象.]scrollBy(deltaX, deltaY);使窗口向右滚动 deltaX 像素,向下滚动 deltaY 像素。如果取负值,则向相反的方向滚动。
resizeTo() 用法:[窗口对象.]resizeTo(width, height);使窗口调整大小到宽 width 像素,高 height 像素。
resizeBy() 用法:[窗口对象.]resizeBy(deltaWidth, deltaHeight);使窗口调整大小,宽增大 deltaWidth 像素,高增大 deltaHeight 像素。如果取负值,则减少。
alert() 用法:alert(字符串);弹出一个只包含确定按钮的对话框,显示字符串的内容,整个文档的读取、Script 的运行都会暂停,直到用户按下确定。
confirm() 用法:confirm(字符串);弹出一个包含确定和取消按钮的对话框,显示字符串的内容,要求用户做出选择,整个文档的读取、Script 的运行都会暂停。如果用户按下确定,则返回 true 值,如果按下取消,则返回 false 值。
prompt() 用法:prompt(字符串[, 初始值]);弹出一个包含确认取消和一个文本框的对话框,显示字符串的内容,要求用户在文本框输入一些数据,整个文档的读取、Script 的运行都会暂停。如果用户按下确认,则返回文本框里已有的内容,如果用户按下取消,则返回 null 值。如果指定初始值,则文本框里会有默认值。
Window窗口对象有如下事件:
window.onload;发生在文档全部下载完毕的时候。全部下载完毕意味着不但 HTML 文件,而且包含的图片,插件,控件,小程序等全部内容都下载完毕。本事件是 window 的事件,但是在 HTML 中指定事件处理程序的时候,我们是把它写在body标记中的。
window.onunload;发生在用户退出文档(或者关闭窗口,或者到另一个页面去)的时候。与 onload 一样,要写在 HTML 中就写到body标记里。
window.onresize;发生在窗口被调整大小的时候。
window.onblur;发生在窗口失去焦点的时候。
window.onfocus;发生在窗口得到焦点的时候。
window.onerror;发生在错误发生的时候。它的事件处理程序通常就叫做错误处理程序(Error Handler),用来处理错误。上边已经介绍过,要忽略一切错误,就使用:function ignoreError() {
return true;
}
window.onerror = ignoreError;