ScreenDetails: currentscreenchange 事件

可用性有限

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

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

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

ScreenDetails 介面的 currentscreenchange 事件會在 ScreenDetails.currentScreen 以以下任一方式更改時觸發:

  • 當前螢幕更改為不同的螢幕,即當前瀏覽器視窗移動到不同的螢幕。
  • 當前螢幕上的以下一個或多個屬性發生更改:
  • 以下一個或多個值發生更改:
    • 螢幕在作業系統虛擬屏幕布局中的位置(左上角的 (x,y) 座標),相對於 多螢幕原點
    • 螢幕在作業系統虛擬屏幕布局中的可用位置(左上角的 (x,y) 座標),相對於 多螢幕原點。這等於螢幕位置,加上繪製在螢幕左上角的任何作業系統 UI 元素的寬度/高度——視窗不能放置在這些區域。
    • devicePixelRatio
    • label
    • 螢幕被指定為主螢幕或次螢幕(參見 isPrimary)。
    • 螢幕被指定為內部螢幕或外部螢幕(參見 isInternal)。

語法

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

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

oncurrentscreenchange = (event) => { }

事件型別

一個通用的 Event

示例

js
const screenDetails = await window.getScreenDetails();
screenDetails.addEventListener("currentscreenchange", (event) => {
  const details = screenDetails.currentScreen;
  console.log("The current screen has changed.", event, details);
});

規範

規範
視窗管理
# eventdef-screendetails-currentscreenchange
視窗管理
# ref-for-dom-screendetails-oncurrentscreenchange

瀏覽器相容性

另見