ScreenDetailed

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表格

安全上下文: 此功能仅在 安全上下文(HTTPS)中可用,并且在某些或所有 支持的浏览器中可用。

ScreenDetailed 接口是 窗口管理 API 的一部分,它表示用户设备上可用特定屏幕的详细信息。

可以通过 ScreenDetails.screensScreenDetails.currentScreen 属性访问 ScreenDetailed 对象。

Screen ScreenDetailed

实例属性

继承自其父级 Screen 的属性。

availLeft 只读 实验性

表示可用屏幕区域的 x 坐标(左边缘)的数字。

availTop 只读 实验性

表示可用屏幕区域的 y 坐标(顶部边缘)的数字。

devicePixelRatio 只读 实验性

表示屏幕设备像素比的数字。

isInternal 只读 实验性

一个布尔值,指示屏幕是设备内部还是外部。

isPrimary 只读 实验性

一个布尔值,指示屏幕是否设置为操作系统 (OS) 主屏幕。

label 只读 实验性

一个字符串,提供屏幕的描述性标签,例如“内置视网膜显示屏”。

left 只读 实验性

表示屏幕总区域的 x 坐标(左边缘)的数字。

top 只读 实验性

表示屏幕总区域的 y 坐标(顶部边缘)的数字。

事件

继承自其父级 Screen 的事件。

change 实验性

当特定屏幕的任何属性发生变化时触发 - 宽度或高度、可用宽度或可用高度、颜色深度或方向、屏幕位置和可用屏幕位置、设备像素比、标签或屏幕的指定。

示例

当调用 Window.getScreenDetails() 时,系统会提示用户是否允许管理其所有显示器上的窗口(可以使用 Permissions.query() 查询 window-management 来检查此权限的状态)。如果他们授予权限,则生成的 ScreenDetails 对象包含表示用户系统上所有可用屏幕的 ScreenDetailed 对象。

以下示例在操作系统主屏幕的左上角打开一个窗口

js
// Return ScreenDetails
const allScreens = await window.getScreenDetails();

// Return the primary screen ScreenDetailed object
const primaryScreenDetailed = allScreens.screens.find(
  (screenDetailed) => screenDetailed.isPrimary,
);

// Open a window in the top-left corner of the OS primary screen
window.open(
  "https://example.com",
  "_blank",
  `left=${primaryScreenDetailed.availLeft},
   top=${primaryScreenDetailed.availTop},
   width=200,
   height=200`,
);

注意: 有关完整示例,请参阅 多窗口学习环境(另请参阅 源代码)。

规范

规范
窗口管理
# api-screendetailed-interface

浏览器兼容性

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

另请参阅