API javaScript visualViewport.segments
para dispositivos de tela dupla
A window.visualViewport.segments
propriedade retorna uma matriz que contém os DOMRect
s de todas as regiões de exibição que a janela do navegador está abrangendo.
Essa API está disponível no Microsoft Edge versão 97 e mais recente.
Syntax
let screens = window.visualViewport.segments;
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
window.visualViewport.segments
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 inválidos.
Os desenvolvedores podem escutar o evento da resize
janela orientationchange
ou detectar se o navegador foi reessado ou se o dispositivo foi girado.
Exemplo
/**
* Browser state: spanning on Surface Duo device
**/
let screens = window.visualViewport.segments;
console.log(screens.length); // prints 2
/**
* Some time later.. user resizes the browser
*
* Browser state: residing on 1 display
**/
window.addEventListener('resize', () =>{
screens = window.visualViewport.segments;
console.log(screens.length); // prints 1
});