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