ScreenDetails:currentscreenchange 事件

实验性: 这是一个 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表

安全上下文: 此功能仅在 安全上下文 (HTTPS) 中可用,在一些或所有 支持的浏览器 中可用。

ScreenDetails 接口的 currentscreenchange 事件在 ScreenDetails.currentScreen 以以下任一方式更改时触发

  • 当前屏幕更改为不同的屏幕,即当前浏览器窗口移动到不同的屏幕。
  • 当前屏幕上的以下属性之一或多个发生更改
  • 以下值之一或多个发生更改
    • 屏幕的 位置 (左上角的 (x,y) 坐标) 在 OS 虚拟屏幕排列中,相对于 多屏幕原点
    • 屏幕的 可用位置 (左上角的 (x,y) 坐标) 在 OS 虚拟屏幕排列中,相对于 多屏幕原点。这等于屏幕位置加上绘制在屏幕左上角的任何 OS UI 元素的宽度/高度 - 窗口不能放置在这些区域
    • 设备像素比
    • 标签
    • 屏幕作为主屏幕或副屏幕的指定 (见 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

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅