API javaScript para dispositivos de tela dupla getWindowSegments (preterido)

Importante

Este artigo descreve funcionalidades e diretrizes que estão em versão prévia pública e podem ser modificadas substancialmente antes de passarem para a disponibilidade geral. A Microsoft não faz nenhuma garantia, expressa ou implícita, com relação às informações fornecidas aqui.

Cuidado

Essa API javaScript só está disponível na versão estável atual (versão 95) com o sinalizador Recursos da Web experimentais habilitado. A sintaxe mostrada nesta página será preterida em favor de uma nova sintaxe.

Microsoft Edge Beta, Dev e canais insider canário (96.0.1054.5 ou mais recentes), bem como versões de pré-lançamento do Google Chrome, use uma versão atualizada dessa sintaxe em que foi alterado para .

Visite a nova documentação de API para gravar na API mais recente.

O método retorna uma matriz que contém os s de todas as regiões de exibição que window.getWindowSegments() a janela do navegador está DOMRect abrangendo.

Sintaxe

let screens = window.getWindowSegments();

console.log(screens.length);

/**
 * Output:
 * Surface Duo with browser spanning: 2
 * Surface Duo with browser and another app side-by-side: 1
 * Desktops, Macs, Etc: 1
 **/

Tempo de vida da API

O valor retornado de é um instantâneo imutável do estado do dispositivo no momento em que o método foi chamado, se o usuário alterou o estado de abrangção ou girou o dispositivo, os segmentos de janela recuperados anteriormente serão Window.getWindowSegments() inválidos.

Os desenvolvedores podem escutar o evento da janela ou detectar se o resizeorientationchange navegador foi reessado ou se o dispositivo foi girado.

Exemplo

/**
 * Browser state: spanning on duo device
 **/
let screens = window.getWindowSegments();

console.log(screens.length); // prints 2

/**
 * Some time later.. user resizes the browser
 *
 * Browser state: residing on 1 display
 **/

window.addEventListener('resize', () =>{
   screens = window.getWindowSegments();
   console.log(screens.length); // prints 1
});