Screen.width - Référence Web API | MDN

#16753

screen.width

Permet de trouver la largeur de l’écran, en « pixel CSS » (d’après les spec).
Sauf que Firefox tient compte du ratio de zoom (si vous avez un zoom de 2, ou un pixel-ratio de 2, alors la largeur affichée sera divisée par 2).

Webkit en revanche, ne tient pas compte de ça…

Les specs disent que un pixel c’est 1/96 pouce. Un pouce ne variant pas, je pense que si le pixel-ratio est de deux, alors la valeur affichée par le navigateur doit être divisée par deux aussi. Donc un écran 4K en 15" qui est affiché en fHD (comme c’est le cas sur certains ordinateurs portables) devrait retourner une valeur de 1920×1080, pour conserver le fait que 96 px en CSS corresponde à 1 inch.

C’est ensuite au script lui-même de prévoir ce cas là et de faire une multiplication avec le window.devicePixelRatio (qui contient le facteur de zoom de l’écran).

À priori, selon moi, c’est Firefox qui implémenterait correctement les spec (très étonnant… #ironie).

#ChromeIsTheNewIE

https://developer.mozilla.org/fr/docs/Web/API/Screen/width