窗口

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 只读

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

Window.cookieStore 只读 实验性功能 安全上下文

返回对当前文档上下文的 CookieStore 对象的引用。

Window.credentialless 只读 实验性功能

返回一个布尔值,指示当前文档是否在无凭据的 <iframe> 中加载。有关详细信息,请参阅 IFrame 无凭据

Window.crossOriginIsolated 只读

返回一个布尔值,指示网站是否处于跨源隔离状态。

Window.crypto 只读

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

Window.customElements 只读

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

Window.devicePixelRatio 只读

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

Window.document 只读

返回窗口包含的文档的引用。

Window.documentPictureInPicture 只读 实验性功能 安全上下文

返回对当前文档上下文的 文档画中画 窗口的引用。

Window.fence 只读 实验性功能

返回当前文档上下文的 Fence 对象实例。仅适用于嵌入在 <fencedframe> 中的文档。

Window.frameElement 只读

返回嵌入窗口的元素,如果窗口未嵌入,则返回 null。

Window.frames 只读

返回当前窗口中子框架的数组。

Window.fullScreen 非标准

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

Window.history 只读

返回对历史记录对象的引用。

Window.indexedDB 只读

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

Window.innerHeight 只读

获取浏览器窗口内容区域的高度,包括(如果呈现)水平滚动条。

Window.innerWidth 只读

获取浏览器窗口内容区域的宽度,包括(如果呈现)垂直滚动条。

Window.isSecureContext 只读

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

Window.launchQueue 只读 实验性功能

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

Window.length 只读

返回窗口中框架的数量。另请参见 window.frames

Window.localStorage 只读

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

Window.location

获取/设置窗口对象的地址或当前 URL。

Window.locationbar 只读

返回 locationbar 对象。

Window.menubar 只读

返回 menubar 对象。

Window.mozInnerScreenX 只读 非标准

返回窗口视口左上角在屏幕坐标系中的水平 (X) 坐标。此值以 CSS 像素为单位。如果需要,请参阅 nsIDOMWindowUtils 中的 mozScreenPixelsPerCSSPixel 以获取转换为屏幕像素的转换因子。

Window.mozInnerScreenY 只读 非标准

返回窗口视口左上角在屏幕坐标系中的垂直 (Y) 坐标。此值以 CSS 像素为单位。如果需要,请参阅 mozScreenPixelsPerCSSPixel 以获取转换为屏幕像素的转换因子。

Window.name

获取/设置窗口的名称。

Window.navigation 只读 实验性

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

Window.navigator 只读

返回对 navigator 对象的引用。

Window.opener

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

Window.origin 只读

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

Window.originAgentCluster 只读 实验性

如果此窗口属于基于来源的代理集群,则返回 true

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 只读

返回对与窗口关联的屏幕对象的引用。

Window.screenXWindow.screenLeft 只读

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

Window.screenYWindow.screenTop 只读

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

Window.scrollbars 只读

返回 scrollbars 对象。

Window.scrollMaxX 非标准 只读

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

Window.scrollMaxY 非标准 只读

窗口可以垂直滚动的最大偏移量(即文档高度减去视口高度)。

Window.scrollX 只读

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

Window.scrollY 只读

返回文档已垂直滚动的像素数。

Window.self 只读

返回对窗口对象本身的对象引用。

Window.sessionStorage

返回对 session storage 对象的引用,该对象用于存储只能由创建它的来源访问的数据。

Window.sharedStorage 只读 实验性 安全上下文

返回当前来源的 WindowSharedStorage 对象。这是使用 共享存储 API 将数据写入共享存储的主要入口点。

Window.speechSynthesis 只读

返回一个 SpeechSynthesis 对象,它是使用 Web 语音 API 语音合成功能的入口点。

Window.statusbar 只读

返回 statusbar 对象。

Window.toolbar 只读

返回 toolbar 对象。

Window.top 只读

返回窗口层次结构中最顶层的窗口的引用。此属性为只读。

Window.trustedTypes 只读

返回与全局对象关联的 TrustedTypePolicyFactory 对象,提供使用 Trusted Types API 的入口点。

Window.visualViewport 只读

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

Window.window 只读

返回对当前窗口的引用。

window[0]window[1]

返回框架中 window 对象的引用。有关更多详细信息,请参阅 Window.frames

已弃用的属性

Window.event 已弃用 只读

返回**当前事件**,它是 JavaScript 代码上下文当前正在处理的事件,或者如果当前没有正在处理的事件,则返回 undefined。应尽可能使用直接传递给事件处理程序的 Event 对象。

Window.external 已弃用 只读

返回一个包含用于向浏览器添加外部搜索提供程序的功能的对象。

Window.orientation 已弃用 只读

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

Window.status 已弃用

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

实例方法

此接口继承自EventTarget接口的方法。

Window.atob()

解码使用 Base-64 编码编码的数据字符串。

Window.alert()

显示一个警告对话框。

Window.blur() 已弃用

将焦点从窗口移开。

Window.btoa()

从二进制数据字符串创建 Base-64 编码的 ASCII 字符串。

Window.cancelAnimationFrame()

允许您取消之前使用Window.requestAnimationFrame 调度的回调函数。

Window.cancelIdleCallback()

允许您取消之前使用Window.requestIdleCallback 调度的回调函数。

Window.clearInterval()

取消使用setInterval() 设置的重复执行。

Window.clearTimeout()

取消使用setTimeout() 设置的延迟执行。

Window.close()

关闭当前窗口。

Window.confirm()

显示一个带有消息的对话框,用户需要对此消息做出响应。

Window.createImageBitmap()

接受各种不同的图像源,并返回一个解析为ImageBitmapPromise。可选地,源图像会被裁剪到以(sx, sy) 为起点,宽度为 sw,高度为 sh 的像素矩形区域。

Window.dump() 非标准

将消息写入控制台。

Window.fetch()

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

Window.find() 非标准

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

Window.focus()

将焦点设置到当前窗口。

Window.getComputedStyle()

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

Window.getDefaultComputedStyle() 非标准

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

Window.getScreenDetails() 实验性 安全上下文

返回一个解析为表示用户设备可用所有屏幕详细信息的ScreenDetails 对象实例的Promise

Window.getSelection()

返回表示所选项目的选择对象。

Window.matchMedia()

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

Window.moveBy()

将当前窗口移动指定的距离。

Window.moveTo()

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

Window.open()

打开一个新窗口。

Window.postMessage()

为一个窗口安全地向另一个窗口发送数据字符串提供了一种方法,这两个窗口不必位于同一个域中。

Window.print()

打开打印对话框以打印当前文档。

Window.prompt()

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

Window.queryLocalFonts() 实验性 安全上下文

返回一个解析为表示本地可用的字体字体的FontData 对象数组的Promise

Window.queueMicrotask()

将一个微任务排队,以便在控制权返回到浏览器的事件循环之前安全地执行。

Window.reportError()

报告脚本中的错误,模拟未捕获的异常。

Window.requestAnimationFrame()

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

Window.requestIdleCallback()

允许在浏览器空闲期间安排任务。

Window.resizeBy()

将当前窗口调整指定的大小。

Window.resizeTo()

动态调整窗口大小。

Window.scroll()

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

Window.scrollBy()

将窗口中的文档滚动指定的距离。

Window.scrollByLines() 非标准

将文档滚动指定的行数。

Window.scrollByPages() 非标准

将当前文档滚动指定的页数。

Window.scrollTo()

滚动到文档中的特定坐标。

Window.setInterval()

安排一个函数,使其每隔指定毫秒数执行一次。

Window.setTimeout()

安排一个函数在指定时间后执行。

Window.showDirectoryPicker() 实验性 安全上下文

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

Window.showOpenFilePicker() 实验性 安全上下文

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

Window.showSaveFilePicker() 实验性 安全上下文

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

Window.sizeToContent() 非标准

根据内容调整窗口大小。

Window.stop()

此方法停止窗口加载。

Window.structuredClone()

使用结构化克隆算法 创建给定值的深拷贝

Window.updateCommands() 非标准

更新当前 Chrome 窗口(UI)的命令状态。

已弃用方法

Window.back() 非标准 已弃用

在窗口历史记录中后退一步。此方法已弃用;您应该改用history.back()

Window.captureEvents() 已弃用

注册窗口以捕获指定类型的全部事件。

Window.clearImmediate() 非标准 已弃用

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

Window.forward() 非标准 已弃用

将窗口在历史记录中向前移动一个文档。此方法已弃用;您应该改用history.forward()

Window.releaseEvents() 已弃用

释放窗口,使其不再捕获特定类型的事件。

Window.requestFileSystem() 非标准 已弃用

允许网站或应用程序访问其自身使用的沙盒文件系统。

Window.setImmediate() 非标准 已弃用

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

Window.setResizable() 非标准 已弃用

不执行任何操作(无操作)。保留以向后兼容 Netscape 4.x。

Window.showModalDialog() 非标准 已弃用

显示一个模式对话框。

Window.webkitConvertPointFromNodeToPage() 非标准 已弃用

WebKitPoint 从节点的坐标系转换为页面的坐标系。

Window.webkitConvertPointFromPageToNode() 非标准 已弃用

将页面坐标系中的 WebKitPoint 转换为节点坐标系。

事件

使用 addEventListener() 或为该接口的 oneventname 属性分配事件监听器来监听这些事件。除了下面列出的事件之外,许多事件还可以从窗口对象中包含的 Document 中冒泡。

error

当资源加载失败或无法使用时触发。例如,如果脚本存在执行错误,或者图像找不到或无效。

语言更改

当用户的首选语言更改时,在全局作用域对象上触发。

大小调整

当窗口大小发生改变时触发。

存储

当另一个文档的上下文中修改了存储区域(localStoragesessionStorage)时触发。

剪贴板事件

copy

当用户通过浏览器的用户界面启动复制操作时触发。也可以通过 oncopy 属性访问。

cut

当用户通过浏览器的用户界面启动剪切操作时触发。也可以通过 oncut 属性访问。

粘贴

当用户通过浏览器的用户界面启动粘贴操作时触发。也可以通过 onpaste 属性访问。

连接事件

离线

当浏览器失去网络访问权限并且 navigator.onLine 的值切换为 false 时触发。

在线

当浏览器获得网络访问权限并且 navigator.onLine 的值切换为 true 时触发。

设备方向事件

devicemotion 安全上下文

以固定的时间间隔触发,指示设备接收到的物理加速度量以及旋转速率(如果可用)。

deviceorientation 安全上下文

当从磁力计方向传感器获得关于设备当前方向相对于地球坐标系的新数据时触发。

deviceorientationabsolute 安全上下文

当从磁力计方向传感器获得关于设备当前绝对方向相对于地球坐标系的新数据时触发。

焦点事件

blur

当元素失去焦点时触发。

focus

当元素获得焦点时触发。

游戏手柄事件

游戏手柄连接

当浏览器检测到游戏手柄已连接或第一次使用游戏手柄的按钮/轴时触发。

游戏手柄断开连接

当浏览器检测到游戏手柄已断开连接时触发。

历史事件

哈希值更改

当 URL 的片段标识符发生更改时触发(URL 中以 # 符号开头并跟随 # 符号的部分)。

页面隐藏

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

pagereveal 实验性

当首次渲染文档时触发,无论是从网络加载新文档还是激活文档(来自 后/前缓存 (bfcache) 或 预渲染)。

页面显示

当浏览器由于导航任务使文档可见时发送,不仅包括页面首次加载时,还包括用户在同一选项卡中导航到另一个页面后导航回该页面等情况。

pageswap 实验性

当文档即将由于导航而卸载时触发。

历史状态弹出

当活动历史记录条目更改时触发。

加载和卸载事件

beforeunload

当窗口、文档及其资源即将卸载时触发。

加载

当整个页面加载完毕,包括所有依赖资源(如样式表、图像)时触发。

unload 已弃用

当文档或子资源正在卸载时触发。

清单事件

appinstalled

当浏览器成功将页面安装为应用程序时触发。

beforeinstallprompt

当用户即将被提示安装 Web 应用程序时触发。

消息传递事件

消息

当窗口接收到消息时触发,例如来自另一个浏览上下文中对 Window.postMessage() 的调用。

消息错误

Window 对象接收到无法反序列化的消息时触发。

afterprint

在关联文档开始打印或打印预览关闭后触发。

beforeprint

当关联文档即将打印或预览打印时触发。

Promise 拒绝事件

拒绝处理

每次 JavaScript Promise 被拒绝时发送,无论是否有处理程序来捕获拒绝。

未处理拒绝

当 JavaScript Promise 被拒绝但没有处理程序来捕获拒绝时发送。

已弃用事件

orientationchange 已弃用

当设备的方向发生变化时触发。

vrdisplayactivate 已弃用 非标准

当显示器能够呈现内容时触发。

vrdisplayconnect 已弃用 非标准

当兼容的 VR 设备连接到计算机时触发。

vrdisplaydisconnect 已弃用 非标准

当兼容的 VR 设备断开与计算机的连接时触发。

vrdisplaydeactivate 已弃用 非标准

当显示器无法再呈现内容时触发。

vrdisplaypresentchange 已弃用 非标准

当 VR 设备的呈现状态发生变化时触发——即从呈现到不呈现,或反之亦然。

接口

参见 DOM 参考

规范

规范
HTML 标准
# 窗口对象

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。