ScreenDetailed
ScreenDetailed
接口是 窗口管理 API 的一部分,它表示用户设备上可用特定屏幕的详细信息。
可以通过 ScreenDetails.screens
和 ScreenDetails.currentScreen
属性访问 ScreenDetailed
对象。
实例属性
继承自其父级 Screen
的属性。
availLeft
只读 实验性-
表示可用屏幕区域的 x 坐标(左边缘)的数字。
availTop
只读 实验性-
表示可用屏幕区域的 y 坐标(顶部边缘)的数字。
devicePixelRatio
只读 实验性-
表示屏幕设备像素比的数字。
isInternal
只读 实验性-
一个布尔值,指示屏幕是设备内部还是外部。
isPrimary
只读 实验性-
一个布尔值,指示屏幕是否设置为操作系统 (OS) 主屏幕。
label
只读 实验性-
一个字符串,提供屏幕的描述性标签,例如“内置视网膜显示屏”。
left
只读 实验性-
表示屏幕总区域的 x 坐标(左边缘)的数字。
top
只读 实验性-
表示屏幕总区域的 y 坐标(顶部边缘)的数字。
事件
示例
当调用 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 的浏览器中加载。