本文详细整理了JavaScript中Window对象的核心方法与属性。内容涵盖窗口管理(open/close)、用户交互(alert/confirm/prompt)、定时器控制(setTimeout/clearTimeout)以及窗口外观与导航(moveTo/scrollTo/back/forward)等常用API。同时解析了status、location、document等关键属性,帮助开发者全面掌握浏览器窗口操作技巧。
JavaScript中的Window对象提供了丰富的方法,用于控制浏览器窗口行为及用户交互。
主要方法包括:open、close、alert、confirm、prompt、setTimeout、clearTimeout、setInterval、clearInterval、moveBy、moveTo、resizeBy、resizeTo、scrollBy、scrollTo、find、back、forward、home、stop、print、blur、focus、captureEvent、enableExternalCapture、disableExternalCapture、handleEvent、releaseEvent、routeEvent和scroll。
窗口控制与用户交互方法
1. open方法
语法格式:window.open(URL, 窗口名称, 窗口风格)
功能:打开一个新的浏览器窗口,并在该窗口中加载指定URL地址的网页。
说明:
open方法用于创建一个新的浏览器窗口,并在新窗口中加载指定的URL地址。
在打开新窗口时,可以通过第二个参数指定窗口的名称。
在打开新窗口时,可以通过第三个参数指定窗口的风格。窗口风格支持多选,各选项之间使用逗号分隔。
toolbar:指定是否显示标准工具栏。值为1或yes表示显示,0或no表示不显示。
location:指定是否显示地址栏,选项值及含义与toolbar相同。 directories:指定是否显示链接工具栏,选项值及含义与toolbar相同。 status:指定是否显示状态栏,选项值及含义与toolbar相同。 menubar:指定是否显示菜单,选项值及含义与toolbar相同。 scrollbar:当文档内容超出窗口时,指定是否显示滚动条,选项值及含义与toolbar相同。 resizable:指定窗口是否允许调整大小,选项值及含义与toolbar相同。 width:以像素为单位指定窗口宽度,该属性已被innerWidth取代。 height:以像素为单位指定窗口高度,该属性已被innerHeight取代。 outerWidth:以像素为单位指定窗口的外部宽度。 outerHeight:以像素为单位指定窗口的外部高度。 left:以像素为单位指定窗口距离屏幕左侧的位置。 top:以像素为单位指定窗口距离屏幕顶端的位置。 alwaysLowered:指定窗口始终隐藏在其他窗口之后,选项值及含义与toolbar相同。 alwaysRaised:指定窗口始终浮在其他窗口之上,选项值及含义与toolbar相同。 dependent:指定打开的窗口为当前窗口的子窗口,随父窗口关闭而关闭,选项值及含义与toolbar相同。 hotkeys:在没有菜单栏的新窗口中设置安全退出的热键,选项值及含义与toolbar相同。 innerHeight:设定窗口中文档的像素高度。 innerWidth:设定窗口中文档的像素宽度。 screenX:设定窗口距离屏幕左边界的像素长度。 screenY:设定窗口距离屏幕上边界的像素长度。 titleBar:指明标题栏是否在新窗口中可见,选项值及含义与toolbar相同。 z-look:指明当窗口被激活时,不能浮在其他窗口之上,选项值及含义与toolbar相同。 open方法返回新窗口的引用对象。
小技巧:该方法常用于在打开一个网页时自动弹出另一个窗口。
2. close方法
语法格式:window.close()
功能:用于自动关闭当前浏览器窗口。
3. alert方法
语法格式:window.alert(提示字符串)
功能:弹出一个警告对话框,在框内显示指定的提示字符串文本。
4. confirm方法
语法格式:window.confirm(提示字符串)
功能:显示一个确认对话框,框内显示提示字符串。当用户单击“确定”按钮时返回true,单击“取消”按钮时返回false。
5. prompt方法
语法格式:window.prompt(提示字符串, 缺省文本)
功能:显示一个输入对话框,框内显示提示字符串,并在输入框中显示缺省文本。等待用户输入后,若单击“确定”按钮,返回用户输入的字符串;若单击“取消”按钮,返回null值。
6. setTimeout方法
语法格式:window.setTimeout(代码字符表达式, 毫秒数)
功能:设置定时器,当达到指定的毫秒数后,自动执行指定的代码字符表达式。
7. clearTimeout方法
语法格式:window.clearTimeout(定时器)
功能:取消之前设置的定时器。参数为使用setTimeout方法时返回的定时器标识符。
8. setInterval方法
语法格式:window.setInterval(代码字符表达式, 毫秒数)
功能:设定一个时间间隔(第二个参数),在此间隔后反复执行“代码字符表达式”的内容。
9. clearInterval方法
语法格式:window.clearInterval(时间间隔器)
功能:取消setInterval设置的定时任务。参数为setInterval方法返回的时间间隔器标识符。
10. moveBy方法
语法格式:window.moveBy(水平位移量, 垂直位移量)
功能:按照给定的像素参数移动指定窗口。第一个参数为水平移动的像素值,第二个参数为垂直移动的像素值。
11. moveTo方法
语法格式:window.moveTo(x, y)
功能:将窗口移动到指定的坐标(x, y)处。
12. resizeBy方法
语法格式:window.resizeBy(水平, 垂直)
功能:将当前窗口改变指定的大小(x, y)。当x、y的值大于0时窗口扩大,小于0时窗口缩小。
13. resizeTo方法
语法格式:window.resizeTo(水平宽度, 垂直宽度)
功能:将当前窗口改变为指定的大小(x, y),其中x为宽度,y为高度。
14. scrollBy方法
语法格式:window.scrollBy(水平位移量, 垂直位移量)
功能:将窗口中的内容按给定的位移量进行滚动。参数为正数时正向滚动,为负数时反向滚动。
15. scrollTo方法
语法格式:window.scrollTo(x, y)
功能:将窗口中的内容滚动到指定的坐标位置。
16. find方法
语法格式:window.find()
功能:触发该方法时,将弹出一个“查找”对话框,允许用户在当前页面中查找指定的字符串。
注:该属性在IE5.5及Netscape6.0中均不支持。
17. back方法
语法格式:window.back()
功能:模拟用户点击浏览器上的“后退”按钮,将页面导航至浏览历史中的上一页。
说明:仅当当前页面存在上一页时才能执行该操作。
注:IE5.5不支持该方法,Netscape6.0支持。
18. forward方法
语法格式:window.forward()
功能:模拟用户点击浏览器上的“前进”按钮,将页面导航至浏览历史中的下一页。
说明:仅当当前页面存在下一页时才能执行该操作。
注:IE5.5不支持该方法,Netscape6.0支持。
19. home方法
语法格式:window.home()
功能:模拟用户点击浏览器上的“主页”按钮,将页面导航至用户指定的主页。
注:IE5.5不支持该方法,Netscape6.0支持。
20. stop方法
语法格式:window.stop()
功能:模拟用户点击浏览器上的“停止”按钮,终止当前页面的下载操作。
注:IE5.5不支持该方法,Netscape6.0支持。
21. print方法
语法格式:window.print()
功能:模拟用户点击浏览器上的“打印”按钮,通知浏览器打开打印对话框以打印当前页面。
22. blur方法
语法格式:window.blur()
功能:从窗口中移出焦点。与focus方法配合使用时需谨慎,否则可能导致焦点在窗口间不断切换。
23. focus方法
语法格式:window.focus()
功能:使窗口获得焦点。与blur方法配合使用时需谨慎,否则可能导致焦点在窗口间不断切换。
24. captureevent方法
语法格式:window.captureevent(event)
window.captureevent(事件1|事件2|…|事件n)
功能:捕捉指定参数的所有事件。由于可以捕获由本地程序处理的事件,程序员可以自定义函数来处理这些事件。若有多个事件需要捕捉,各事件之间使用管道符“|”隔开。可捕捉的事件类型包括:
event.abort event.blur event.change event.click event.dblclick event.dragdrop event.error event.focus event.keydown event.keypress event.keyup event.load event.mousedown event.mousuemove event.mouseout event.mouseover event.mouseup event.move event.reset event.resize event.select event.submit event.unload
25. enableexternalcapture事件
语法格式:window.enableexternalcapture(event)
功能:enableexternalcapture方法用于捕捉通过参数传入的外部事件。
26. disableexternalcapture事件
语法格式:window.disableexternalcapture()
功能:取消enableexternalcapture方法的设置,终止对外部事件的捕捉。
27. handleevent事件
语法格式:window.handleevent(event)
功能:触发指定事件的事件处理器。
28. releaseevent事件
语法格式:window.releaseevent(event)
window.releaseevent(事件1|事件2|…|事件n)
功能:释放通过参数传入的已被捕捉的事件,这些事件是由window.captureevent方法设置的。可释放的事件类型与captureevent相同。
29. routeevent事件
语法格式:window.releaseevent(event)
功能:把被捕捉类型的所有事件转交给标准事件处理方法进行处理,可转交的事件与captureevent相同。
30. scroll事件
语法格式:window.scroll(x坐标, y坐标)
功能:将窗口移动到指定的坐标位置。
Window对象核心属性解析
window对象的属性
window对象具有如下属性:
status statusbar statusbar.visible defaultstatus location locationbar locationbar.visible self name closed frames frames.length length document history innerheight innerwidth menubar menubar.visible opener outerheight outerwidth pagexoffset pageyoffset parent personalbar personalbar.visible scrollbar scrollbar.visible toolbar toolbar.visible top
1. status属性
语法格式:window.status=字符串
功能:设置或获取浏览器窗口状态栏的当前显示信息。
小技巧:可以使用该属性自定义浏览器窗口状态栏的显示信息。
2. statusbar属性
语法格式:window.statusbar.属性
功能:statusbar属性本身也是一个对象,用于访问其自身的visible属性,从而确定状态栏是否可见。
注:IE5.5浏览器不支持该属性。
3. statusbar.visible属性
语法格式:window.statusbar.visible
功能:检查状态栏是否可见,如果可见则返回true,否则返回false。
注:IE5.5浏览器不支持该属性。
4. defaultstatus属性
语法格式:window.defaultstatus[=字符串]
功能:defaultstatus属性值是浏览器窗口状态栏的默认显示信息。
5. location属性
语法格式:window.location=url
功能:获取当前窗口的URL信息,或指定打开窗口的URL。
6. locationbar属性
语法格式:window.locationbar.属性
功能:locationbar属性也可以看作是一个子对象,通过获取其自身的visible属性来确定地址栏是否可见。目前该属性只有一个子属性:visible。
注:IE5.5不支持该属性。
7. locationbar.visible属性
语法格式:window.locationbar.visible
功能:返回地址栏是否可见,如果可见返回true,否则返回false。
注:IE5.5不支持该属性。
8. self属性
语法格式:window.self.方法
window.self.属性
功能:该属性包含当前窗口的引用,利用此属性,可以保证在多个窗口同时打开的情况下,正确调用当前窗口内的函数或属性,避免混淆。
9. name属性
语法格式:window.name=名称
功能:返回窗口名称,该名称是由window.open()方法创建新窗口时指定的。在JavaScript1.0版本中,此属性仅用于读取窗口名称;而在JavaScript1.1版本中,可以用此属性为通过其他方式创建的窗口指定名称。
10. closed属性
语法格式:window.closed
功能:closed属性用于返回指定窗口的实例是否已经关闭。如果已关闭,返回true;否则返回false。
11. frames属性
语法格式:window.frames[“框架名称”]
window.frames[数值]
功能:frames属性是一个数组,用于存储文档中由frame元素创建的每个子窗口(框架)实例。其下标既可以是序号,也可以是通过frame元素的name属性指定的名称来获取和使用。
12. frames.length属性
语法格式:window.frames.length
功能:frames.length属性用于返回文档中子窗口(框架)实例的数量。
13. length属性
语法格式:window.length
功能:length属性返回窗口内的子窗口数量,该属性的值与window.frames.length属性的值相同。
14. document属性
语法格式:window.document.事件 window.document.方法 window.document.属性
功能:window对象的子对象document是JavaScript的核心对象,在脚本中遇到body元素时会自动创建一个实例。
15. history属性
语法格式:window.history[数值] window.history.方法() window.history.属性
window对象的子对象history是JavaScript的核心对象之一,该属性包含了一个已访问过页面的名称和URL的数组。
16. innerheight属性
语法格式:window.innerheight=数值
功能:返回或指定浏览器窗口中文档的像素高度,此高度不包括任何工具栏和组成窗口的页面修饰高度。
注:IE5.5不支持该属性。
17. innerwidth属性
语法格式:window.innerheight=数值
功能:返回或指定浏览器窗口中文档的像素宽度,此宽度不包括任何工具栏和组成窗口的页面修饰宽度。
注:IE5.5不支持该属性。
18. menubar属性
语法格式:window.menubar.属性
功能:menubar属性也可以看作是一个子对象,通过获取其自身的visible属性来确定菜单栏是否可见。目前该属性只有一个子属性:visible。
注:IE5.5不支持该属性。
19. menubar.visible属性
语法格式:window.menubar.visible
功能:menubar.visible属性用于返回菜单栏是否可见,如果可见返回true,否则返回false。
注:IE5.5不支持该属性。
20. opener属性
语法格式:window.opener window.opener.方法 window.opener.属性
功能:opener属性与打开该窗口的父窗口相关联。当访问子窗口中的opener属性时,返回的是父窗口。通过该属性,可以使用父窗口对象中的方法和属性。
21. outerheight属性
语法格式:window.outerheight
功能:outerheight属性用于获取浏览器窗口的像素高度,该高度包括工具栏和装饰边的高度。
注:IE5.5不支持该属性。
22. outerwidth属性
语法格式:window.outerwidth
功能:outerwidth属性用于获取浏览器窗口的像素宽度,该宽度包括工具栏和装饰边的宽度。
注:IE5.5不支持该属性。
23. pagexoffset属性
语法格式:window.pagexoffset=数值
功能:指定浏览器窗口中文档左上角在窗口中的当前水平像素位置。在使用moveTo移动窗口之前,可以通过该属性判断是否需要移动窗口,因为该属性返回了可见文档相对整个页面的当前位置。
注:IE5.5不支持该属性。
24. pageyoffset属性
语法格式:window.pageyoffset=数值
功能:指定浏览器窗口中文档左上角在窗口中的当前垂直像素位置。在使用moveTo移动窗口之前,可以通过该属性判断是否需要移动窗口,因为该属性返回了可见文档相对整个页面的当前位置。
注:IE5.5不支持该属性。
25. parent属性
语法格式:window.parent.frames[数值] window.parent.framesname
功能:访问各个子窗口(多框架)所在的父窗口。
26. personalbar属性
语法格式:window.personalbar.属性
功能:personalbar属性本身也是一个对象,用于访问其自身的visible属性,以确定个人栏是否可见。
注:IE5.5不支持该属性。
27. personalbar.visible属性
语法格式:window.personalbar.visible
功能:确定个人栏是否可见,如果可见则返回true,否则返回false。
注:IE5.5不支持该属性。
28. scrollbars属性
语法格式:window.scrollbars.属性
功能:scrollbars属性本身也是一个对象,用于访问其自身的visible属性,以确定滚动栏是否可见。
注:IE5.5不支持该属性。
29. scrollbars.visible属性
语法格式:window.scrollbars.visible
功能:scrollbars.visible用于确定滚动栏是否可见,如果可见则返回true,否则返回false。
注:IE5.5不支持该属性。
30. toolbar属性
语法格式:window.toolbar.属性
功能:toolbar属性本身也是一个对象,用于访问其自身的visible属性,从而确定工具栏是否可见。
注:IE5.5不支持该属性。
31. toolbar.visible属性
语法格式:window.toolbar.visible
功能:toolbar.visible属性用于检查工具栏是否可见,如果可见返回true,否则返回false。
注:IE5.5不支持该属性。
32. top属性
语法格式:window.top.frames[数值] window.top.framename window.top.方法()
window.top.属性
功能:window对象的top属性用于包含所有装入浏览器的子窗口(多框架)的最顶层窗口的信息。