Window: getScreenDetails() 方法

可用性有限

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

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

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

Window 介面的 getScreenDetails() 方法返回一個 Promise,該 Promise 會解析為一個 ScreenDetails 物件例項,該例項代表使用者裝置上所有可用螢幕的詳細資訊。

語法

js
getScreenDetails()

引數

無。

返回值

一個 Promise,解析為 ScreenDetails 物件例項。

異常

NotAllowedError DOMException

如果設定了 window-management Permissions-Policy 來阻止使用 Window Management API,或者使用者已明確拒絕瀏覽器使用該 API 的許可權請求,則會丟擲此錯誤。

示例

當呼叫 getScreenDetails() 時,使用者將被詢問是否允許管理其所有顯示器上的視窗(此許可權狀態可以使用 Permissions.query() 查詢 window-management 來檢查)。如果使用者授予了許可權,則生成的 ScreenDetails 物件將包含使用者系統上所有可用螢幕的詳細資訊。

下面的示例會在每個可用顯示器上開啟一個全屏視窗。

js
const screenDetails = await window.getScreenDetails();

// Open a full-size window on each screen available to the device
for (const screen of screenDetails.screens) {
  window.open(
    "https://example.com",
    "_blank",
    `left=${screen.availLeft},
    top=${screen.availTop},
    width=${screen.availWidth},
    height=${screen.availHeight}`,
  );
}

注意:有關完整的示例,請參閱 多視窗學習環境(也可以檢視 原始碼)。

規範

規範
視窗管理
# api-window-getScreenDetails-method

瀏覽器相容性

另見