ScreenDetails:screenschange 事件

可用性有限

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

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

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

ScreenDetails 介面的 screenschange 事件在系統可用的螢幕集合發生變化時觸發:也就是說,一個新的螢幕可用,或者一個已有的螢幕變得不可用。這將在 screens 陣列中得到反映。

語法

在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。

js
addEventListener("screenschange", (event) => { })

onscreenschange = (event) => { }

事件型別

一個通用的 Event

示例

您可以使用 screenschange 事件來檢測可用螢幕何時發生變化,報告該變化,關閉所有視窗,然後重新開啟它們以適應新的配置。

js
const screenDetails = await window.getScreenDetails();

// Return the number of screens
let noOfScreens = screenDetails.screens.length;

screenDetails.addEventListener("screenschange", () => {
  // If the new number of screens is different to the old number of screens, report the difference
  if (screenDetails.screens.length !== noOfScreens) {
    console.log(
      `The screen count changed from ${noOfScreens} to ${screenDetails.screens.length}`,
    );

    // Update noOfScreens value
    noOfScreens = screenDetails.screens.length;
  }

  // Open, close, or rearrange windows as needed, to fit the new screen configuration
  updateWindows();
});

規範

規範
視窗管理
# eventdef-screendetails-screenschange
視窗管理
# ref-for-dom-screendetails-onscreenschange

瀏覽器相容性

另見