ScreenDetailed

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

ScreenDetailed 介面是 視窗管理 API 的一部分,它代表了使用者裝置可用螢幕的詳細資訊。

可以透過 ScreenDetails.screensScreenDetails.currentScreen 屬性訪問 ScreenDetailed 物件。

Screen 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

瀏覽器相容性

另見