API JavaScript visualViewport.segments
pour les appareils à deux écrans
La window.visualViewport.segments
propriété retourne un tableau contenant les DOMRect
s de toutes les zones d’affichage sur lesquelles s’étend la fenêtre du navigateur.
cette API est disponible dans Microsoft Edge version 97 et les versions ultérieures.
Syntaxe
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
**/
Durée de vie de l’API
La valeur retournée par window.visualViewport.segments
est un instantané immuable de l’état de l’appareil au moment où la méthode a été appelée, si l’utilisateur a modifié l’état d’étendue ou a fait pivoter l’appareil, les segments de fenêtre récupérés précédemment ne sont pas valides.
Les développeurs peuvent écouter l’événement de fenêtre resize
ou orientationchange
détecter si le navigateur a été redimensionné ou s’il a subi une rotation.
Exemple
/**
* 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
});