Window

window 对象表示一个包含 DOM 文档的窗口,其 document 属性指向窗口中载入的 DOM 文档

使用 document.defaultView 属性可以获取指定文档所在窗口。

代表了脚本正在运行的窗口的 window 全局变量,被暴露给 Javascript 代码。

Window 接口是各种函数、命名空间、对象和构造函数的家,它们不一定与用户界面窗口的概念直接相关。然而,Window 接口是一个可以包含这些需要全局可用的项目的合适的地方。其中很多内容都在 JavaScript 参考DOM 参考中有所记载。

在标签式浏览器中,每个标签都由自己的 Window 对象表示;在特定标签中运行的 JavaScript 代码所看到的全局 window 总是代表代码所运行的标签。也就是说,即使在标签浏览器中,一些属性和方法仍然适用于包含标签的整个窗口,如 resizeTo()innerHeight。一般来说,任何不能合理地与标签有关的东西都与窗口有关。

EventTarget Window

实例属性

本接口从 EventTarget 接口继承属性。

注意,对象类型的属性(例如:覆盖内建元素的原型)被列于下面单独的小节之中。

Window.caches 只读

返回与当前环境相关的 CacheStorage 对象。这个对象可以实现一些功能,如存储供离线使用的资源,以及对请求生成自定义响应。

Window.clientInformation 只读

Window.navigator 对象的别名。

Window.closed 只读

此属性表示当前窗口是否关闭。

Window.console 只读

返回对 console 对象的引用,该对象提供对浏览器调试控制台的访问。

Window.credentialless 只读 实验性 非标准

返回一个布尔值,表示当前文档是否在无凭据(credentialless)的 <iframe> 中加载。参见 IFrame credentialless 以了解更多细节。

Window.crypto 只读

返回与全局对象关联的 Crypto 对象。

Window.customElements 只读

返回对 CustomElementRegistry 对象的引用,该对象可用于注册新的自定义元素并获取之前注册的自定义元素的信息。

Window.devicePixelRatio 只读

返回当前显示器中物理像素和设备独立像素之间的比率。

Window.document 只读

返回对 window 所包含的文档的引用。

Window.frameElement 只读

返回窗口被嵌入的元素,如果窗口没有被嵌入,则返回空。

Window.frames 只读

返回当前窗口中的子框架(subframe)形成的数组。

Window.fullScreen 非标准

此属性指示窗口是否以全屏显示。

Window.history 只读

返回对 history 对象的引用。

Window.indexedDB 只读

为应用程序提供异步访问索引数据库的能力;返回一个 IDBFactory 对象。

Window.innerHeight 只读

获取浏览器窗口的内容区域的高度,包括(已渲染的)水平滚动条。

Window.innerWidth 只读

获取浏览器窗口的内容区域的宽度,包括(已渲染的)竖直滚动条。

Window.isSecureContext 只读

返回一个布尔值,表示当前上下文安全(true)或不安全(false)。

Window.launchQueue 只读 实验性

当一个渐进式 web 应用(PWA)以 focus-existingnavigate-newnavigate-existinglaunch_handler client_mode 值启动时,launchQueue 提供对 LaunchQueue 类的访问,这允许为 PWA 实现自定义的启动导航处理。

Window.length 只读

返回窗口中的框架(frame)数。参见 window.frames

Window.location

获取/设置 window 对象的位置,或当前的 URL。

Window.locationbar 只读

返回 locationbar 对象。

Window.localStorage 只读

返回一个对用于存储数据的本地存储对象的引用,该对象只能由创建它的源访问。

Window.menubar 只读

返回 menubar 对象。

Window.mozInnerScreenX 只读 非标准

返回窗口视口左上角的水平(X)坐标,以屏幕坐标表示。这个值是以 CSS 像素为单位报告的。请参阅 nsIDOMWindowUtils 中的 mozScreenPixelsPerCSSPixel,以获得转换系数,以便在需要时适应屏幕像素。

Window.mozInnerScreenY 只读 非标准

返回窗口视口左上角的垂直(Y)坐标,以屏幕坐标表示。这个值是以 CSS 像素为单位报告的。请参阅 mozScreenPixelsPerCSSPixel,如果需要的话,可以用一个转换系数来适应屏幕像素。

Window.name

获取/设置 window 对象的名称。

Window.navigation 只读 实验性

返回当前 window 的相关 Navigation 对象。是 Navigation API 的入口点。

Window.navigator 只读

返回对 navigator 对象的引用。

Window.opener

返回对打开当前窗口的 window 的引用。

Window.origin 只读

返回全局对象的源,序列化为一个字符串。

Window.outerHeight 只读

获取浏览器窗口外侧的高度。

Window.outerWidth 只读

获取浏览器窗口外侧的宽度。

Window.pageXOffset 只读

window.scrollX 的别名。

Window.pageYOffset 只读

window.scrollY 的别名。

Window.parent 只读

返回对当前窗口或子框架的被继承对象的引用。

Window.performance 只读

返回一个 Performance 对象,其中包括 timingnavigation 属性,每个属性都是提供性能相关数据的对象。有关其他信息和例子,请参见使用导航计时

Window.personalbar 只读

返回 personalbar 对象。

Window.scheduler 只读

返回与当前上下文相关的 Scheduler 对象。这是使用优先级任务调度 API 的入口。

Window.screen 只读

返回与该窗口相关的 screen 对象的引用。

Window.screenXWindow.screenLeft 只读

这两个属性都返回从用户浏览器视口的左边界到屏幕左侧的水平距离。

Window.screenYWindow.screenTop 只读

这两个属性都会返回从用户浏览器视口的上边界到屏幕上侧的垂直距离。

Window.scrollbars 只读

返回 scrollbars 对象。

Window.scrollMaxX 非标准 只读

窗口在水平方向上可以滚动的最大偏移量,即文档宽度减去视口宽度。

Window.scrollMaxY 非标准 只读

窗口在竖直方向上可以滚动的最大偏移量,即文档高度减去视口高度。

Window.scrollX 只读

返回文档已经被水平滚动的像素数。

Window.scrollY 只读

返回文档已经被竖直滚动的像素数。

Window.self 只读

返回对 window 对象本身的引用。

Window.sessionStorage

返回对用于存储数据的会话存储对象的引用,这些数据只能由创建它的源访问。

Window.speechSynthesis 只读

返回 SpeechSynthesis 对象,这是使用 Web Speech API 语音合成功能的入门点。

Window.statusbar 只读

返回 statusbar 对象。

Window.toolbar 只读

返回 toolbar 对象。

Window.top 只读

返回对窗口层次结构中最顶层窗口的引用。这个属性是只读的。

Window.visualViewport 只读

返回 VisualViewport 对象,代表一个给定窗口的视觉视口。

Window.window 只读

返回对当前 window 的引用。

window[0]window[1]

以逐帧形式返回对 window 对象的引用,要了解更多细节,参见 Window.frames

已弃用的属性

Window.event 已弃用 只读

返回当前事件,即当前由 JavaScript 代码的上下文处理的事件,如果当前没有事件被处理,则返回 undefined。应尽可能使用直接传递给事件处理程序的 Event 对象来代替。

Window.external 已弃用 只读

返回一个带有向浏览器添加外部搜索提供者的功能的对象。

Window.orientation 已弃用 只读

返回视口相对于设备自然方向的度数(以 90 度为增量)。

Window.sidebar 已弃用 非标准 只读

返回对侧边栏的 window 对象的一个引用。

Window.status 已弃用

获取/设置浏览器底部状态栏中的文本。

实例方法

本接口从 EventTarget 接口继承方法。

Window.addEventListener()

为 window 上的特定事件类型注册一个事件处理器。

Window.atob()

解码一个使用 base-64 编码的数据字符串。

Window.alert()

显示一个警告对话框。

Window.blur()

将焦点从窗口上移开。

Window.btoa()

从一串二进制数据中创建一个 base-64 编码的 ASCII 字符串。

Window.cancelAnimationFrame()

取消之前使用 Window.requestAnimationFrame 安排的回调。

Window.cancelIdleCallback()

取消之前使用 Window.requestIdleCallback 安排的回调。

Window.clearImmediate()

取消使用 setImmediate() 设置的重复执行任务。

Window.clearInterval()

取消使用 Window.setInterval() 设置的重复执行任务。

Window.clearTimeout()

取消使用 Window.setTimeout() 设置的延时执行任务。

Window.close()

关闭当前窗口。

Window.confirm()

显示一个带有用户需要回应的信息对话框。

Window.createImageBitmap()

接受各种不同的图像源,并返回一个 Promise,经兑现可得到 ImageBitmap。可以选择将图片源裁剪成以 (sx, sy) 为起点的像素矩形,宽度为 sw,高度为 sh。

Window.dispatchEvent()

用于触发事件。

Window.dump() 非标准

向控制台中写一条消息。

Window.fetch()

开始从网络获取资源的过程。

Window.find() 非标准

在窗口中搜索给定的字符串。

Window.focus()

在当前窗口上设置焦点。

Window.getComputedStyle()

获取指定元素的计算样式。计算的样式表示该元素的所有 CSS 属性的计算值。

Window.getDefaultComputedStyle() 非标准

获取指定元素的默认计算样式,忽略作者样式表。

Window.getSelection()

返回代表所选项目的 selection 对象。

Window.matchMedia()

返回代表指定媒体查询字符串的 MediaQueryList 对象。

Window.moveBy()

将当前窗口移动一个指定的偏量值。

Window.moveTo()

将窗口移动到指定的坐标。

Window.open()

打开一个新窗口。

Window.postMessage()

为一个窗口向另一个窗口发送一串数据提供了安全的手段,该窗口不需要与第一个窗口在同一域内。

Window.print()

打开“打印”对话框,打印当前文档。

Window.prompt()

返回用户在提示对话框中输入的文本。

Window.queryLocalFonts() 实验性

返回 Promise,经兑现可得到包含一个代表本地可用字体的 FontData 对象数组。

Window.removeEventListener()

从 window 上移除一个事件监听器。

Window.reportError()

报告一个脚本中的错误,模拟一个未处理的异常。

Window.requestAnimationFrame()

告诉浏览器一个动画正在进行中,要求浏览器为下一个动画帧安排窗口的重绘。

Window.requestIdleCallback()

启用浏览器空闲期间的任务调度。

Window.resizeBy()

按一定的变化量调整当前窗口的大小。

Window.resizeTo()

动态地调整窗口的大小。

Window.scroll()

将窗口滚动到文档中的一个特定位置。

Window.scrollBy()

将窗口中的文档按给定值滚动。

Window.scrollByLines() 非标准

按给定的行数滚动文档。

Window.scrollByPages() 非标准

按给定的页数滚动文档。

Window.scrollTo()

将文档滚动至特定坐标。

Window.setImmediate()

在浏览器完成其他繁重的任务后执行一个函数。

Window.setInterval()

安排一个函数,在给定的毫秒数过去后执行。

Window.setResizable() 非标准

切换用户调整窗口大小的能力。

Window.setTimeout()

安排函数在给定的时间内执行。

Window.sizeToContent() 非标准

根据窗口的内容确定其大小。

Window.showOpenFilePicker() 实验性

显示一个文件选择器,允许用户选择一个文件或多个文件。

Window.showSaveFilePicker() 实验性

显示一个文件选择器,允许用户保存一个文件。

Window.showDirectoryPicker() 实验性

显示一个目录选择器,允许用户选择一个目录。

Window.stop()

该方法停止了窗口的加载。

Window.updateCommands() 非标准

更新当前 chrome 窗口(用户界面)的命令状态。

已弃用的方法

Window.back() 非标准 已弃用

在窗口历史中后退一步。该方法已被废弃,应该使用 history.back() 代替。

Window.captureEvents() 已弃用

注册窗口以捕获所有指定类型的事件。

Window.forward() 非标准 已弃用

在窗口历史中前进一步。该方法已被废弃,应该使用 history.forward() 代替。

Window.releaseEvents() 已弃用

解除窗口对特定类型事件的捕获。

Window.showModalDialog() 非标准 已弃用

显示一个对话框。

事件

通过使用 addEventListener() 或给这个接口的 oneventname 属性指定一个事件监听器来监听这些事件。

error

当一个资源加载失败,或不能使用时触发该事件。例如,如果脚本有一个执行错误,或者图像找不到或无效。

languagechange

当用户的首选语言发生变化时,在全局范围对象中触发该事件。

devicemotion

以固定的时间间隔触发该事件,显示设备所接受的物理加速力的大小和旋转速率(如果有)。

deviceorientation

当磁力计方向传感器提供了关于设备当前方向与地球坐标框架的新数据时,触发该事件。

resize

窗口大小发生变化时触发。

storage

当一个存储区域(localStoragesessionStorage)在另一个文档的上下文中被修改时,触发该事件。

动画事件

animationcancel

当一个动画意外地中止时,触发该事件。

animationend

当一个动画正常完成时,触发该事件。

animationiteration

当一个动画迭代完成时,触发该事件。

animationstart

当一个动画开始时,触发该事件。

剪切板事件

copy

当用户通过浏览器的用户界面启动一个复制动作时,触发该事件。也可通过 oncopy 属性设置。

cut

当用户通过浏览器的用户界面启动一个剪切动作时,触发该事件。也可通过 oncut 属性设置。

paste

当用户通过浏览器的用户界面启动一个粘贴动作时,触发该事件。也可通过 paste 属性设置。

连接事件

offline

当浏览器失去了对网络的访问,并且 navigator.onLine 的值转换为 false 时,触发该事件。

online

当浏览器获得了对网络的访问,并且 navigator.onLine 的值转换为 true 时,触发该事件。

聚焦事件

blur

当一个元素失去焦点时,触发该事件。

focus

当一个元素获得焦点时,触发该事件。

Gamepad 事件

gamepadconnected

当浏览器检测到游戏板已被连接或首次使用游戏板的按钮/轴时启动。

gamepaddisconnected

当浏览器检测到游戏板被断开连接时启动。

历史记录事件

hashchange

当 URL 的片段标识符(URL 中以 # 符号开头及其后面的部分)发生变化时,触发该事件。

pagehide

当浏览器隐藏了当前的文档,而在切换到显示会话历史中的另一个文档时触发该事件。例如,当用户点击“后退”按钮或点击“前进”按钮在会话历史中移动时,就会发生这种情况。

pageshow

当浏览器因导航任务而使文件可见时触发该事件,不仅包括页面首次加载时,还包括用户在同一标签内导航到另一个页面后再返回该页面等情况。

popstate

当活动的历史条目改变时,触发该事件。

加载和卸载事件

beforeunload

当窗口、文档及其资源即将被卸载时,触发该事件。

load

当整个页面加载完毕时触发该事件,包括所有依赖资源,如样式表图片。

unload

当文档或子资源正在被卸载时触发,触发该事件。

清单事件

appinstalled

当浏览器成功地将一个页面安装为一个应用程序时,触发该事件。

beforeinstallprompt

当用户即将被提示安装一个 web 应用程序时,触发该事件。

消息事件

message

窗口收到消息时触发该事件,例如从另一个浏览上下文中调用 Window.postMessage()

messageerror

Window 对象收到无法反序列化的消息时,触发该事件。

打印事件

afterprint

在相关文档开始打印或打印预览关闭后,触发该事件。

beforeprint

当相关文件即将被打印或预览打印时,触发该事件。

Promise 拒绝事件

rejectionhandled

每当一个 JavaScript Promise 被拒绝时,不管是否有处理程序来捕捉拒绝,都会触发该事件。

unhandledrejection

当 JavaScript Promise 被拒绝,但没有处理程序来捕获拒绝时,触发该事件。

渐变事件

transitioncancel

CSS 渐变被取消时,触发该事件。

transitionend

CSS 渐变完成时,触发该事件。

transitionrun

CSS 渐变首次创建时,触发该事件。

transitionstart

CSS 渐变真正开始时,触发该事件。

已废弃事件

orientationchange 已弃用

当设备的方向改变时,触发该事件。

vrdisplayactivate 已弃用 非标准

当显示器可供呈现时,触发该事件。

vrdisplayconnect 已弃用 非标准

当兼容的 VR 设备被连接到电脑上时,触发该事件。

vrdisplaydisconnect 已弃用 非标准

当兼容的 VR 设备从电脑上断开时,触发该事件。

vrdisplaydeactivate 已弃用 非标准

当显示器不再可供呈现时,触发该事件。

vrdisplaypresentchange 已弃用 非标准

当 VR 设备的呈现状态发生变化时触发该事件,即从呈现状态变成不呈现状态,或者反之亦然。

接口

规范

Specification
HTML Standard
# the-window-object

浏览器兼容性

BCD tables only load in the browser