Window 对象
Window 对象
window 对象表示浏览器中打开的窗口。
如果文档包含框架(<iframe> 标记),浏览器会为 HTML 文档创建窗口对象,并为每个框架创建额外的窗口对象。
Window 对象属性
对象 | 描述 |
---|---|
closed | 返回窗口是否已被关闭。 |
console | 返回窗口的 Console 对象。 |
defaultStatus | 已弃用。设置或返回窗口状态栏中的默认文本。 |
document | 返回窗口的 Document 对象。 |
frameElement | 返回运行在窗口中的框架。 |
frames | 返回窗口中运行的所有窗口对象。 |
history | 返回窗口的 History 对象。 |
innerHeight | 返回窗口的文档显示区的高度。 |
innerWidth | 返回窗口的文档显示区的宽度。 |
length | 返回当前窗口中 <iframe> 元素的数量。 |
localStorage | 允许在 Web 浏览器中保存键/值对。存储没有过期日期的数据。 |
location | 返回窗口的 Location 对象。 |
name | 设置或返回窗口的名称。 |
navigator | 返回窗口的 Navigator 对象。 |
opener | 返回对创建窗口的窗口的引用。 |
outerHeight | 返回浏览器窗口的高度,包括工具栏/滚动条。 |
outerWidth | 返回浏览器窗口的宽度,包括工具栏/滚动条。 |
pageXOffset | 返回当前文档从窗口左上角(水平)滚动的像素。 |
pageYOffset | 返回当前文档从窗口左上角(垂直)滚动的像素。 |
parent | 返回当前窗口的父窗口。 |
screen | 返回窗口的 Screen 对象。 |
screenLeft | 返回窗口相对于屏幕的水平坐标。 |
screenTop | 返回窗口相对于屏幕的垂直坐标。 |
screenX | 返回窗口相对于屏幕的水平坐标。 |
screenY | 返回窗口相对于屏幕的垂直坐标。 |
sessionStorage | 允许在 Web 浏览器中保存键/值对。存储会话的数据。 |
scrollX | pageXOffset 的别名。 |
scrollY | pageYOffset 的别名。 |
self | 返回当前窗口。 |
status | 已弃用。请避免使用它。 |
top | 返回最顶层的浏览器窗口。 |
Window 对象方法
方法 | 描述 |
---|---|
alert() | 显示带有消息和确定按钮的警报框(对话框)。 |
atob() | 解码 base-64 编码的字符串。 |
blur() | 从当前窗口移除焦点。 |
btoa() | 以 base-64 编码字符串。 |
clearInterval() | 清除使用 setInterval() 设置的计时器。 |
clearTimeout() | 清除使用 setTimeout() 设置的计时器。 |
close() | 关闭当前窗口。 |
confirm() | 显示对话框,其中包含消息以及确定和取消按钮。 |
focus() | 将焦点设置到当前窗口。 |
getComputedStyle() | 确定应用到一个文档元素的 CSS 样式。 |
getSelection() | 返回 Selection 对象,表示用户选择的文本范围。 |
matchMedia() | 返回 MediaQueryList 对象,表示指定的 CSS 媒体查询字符串。 |
moveBy() | 相对于其当前位置移动窗口。 |
moveTo() | 将窗口移动到指定位置。 |
open() | 打开新的浏览器窗口。 |
print() | 打印当前窗口的内容。 |
prompt() | 用对话框请求输入一条简单的字符串。 |
requestAnimationFrame() | 请求浏览器在下一次重绘之前调用函数来更新动画。 |
resizeBy() | 按指定像素调整窗口大小。 |
resizeTo() | 将窗口大小调整为指定的宽度和高度。 |
scroll() | 已弃用。此方法已被 scrollTo() 方法 取代。 |
scrollBy() | 按指定的像素数滚动文档。 |
scrollTo() | 将文档滚动到指定坐标。 |
setInterval() | 周期性执行指定的代码。 |
setTimeout() | 在经过指定的时间之后执行代码。 |
stop() | 停止加载窗口。 |
Window 对象描述
Window 对象表示浏览器窗口或框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。例如,可以只写 document,而不必写 window.document。
同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 Window.alert()。
除了上面列出的属性和方法,Window 对象还实现了核心 JavaScript 所定义的所有全局属性和方法。
Window 对象的 window 属性和 self 属性引用的都是它自己。当你想明确地引用当前窗口,而不仅仅是隐式地引用它时,可以使用这两个属性。除了这两个属性之外,parent 属性、top 属性以及 frame[] 数组都引用了与当前 Window 对象相关的其他 Window 对象。
要引用窗口中的一个框架,可以使用如下语法:
frame[i] //当前窗口的框架 self.frame[i] //当前窗口的框架 w.frame[i] //窗口 w 的框架
要引用一个框架的父窗口(或父框架),可以使用如下语法:
parent //当前窗口的父窗口 self.parent //当前窗口的父窗口 w.parent //窗口 w 的父窗口
要从顶层窗口含有的任何一个框架中引用它,可以使用如下语法:
top //当前框架的顶层窗口 self.top //当前框架的顶层窗口 f.top //框架 f 的顶层窗口
新的顶层浏览器窗口由方法 Window.open() 创建。当调用该方法时,应把 open() 调用的返回值存储在一个变量中,然后使用那个变量来引用新窗口。新窗口的 opener 属性反过来引用了打开它的那个窗口。
一般来说,Window 对象的方法都是对浏览器窗口或框架进行某种操作。而 alert() 方法、confirm() 方法和 prompt 方法则不同,它们通过简单的对话框与用户进行交互。