Dans tous les navigateurs récents:
window.innerWidth // 1920
Dans Internet Explorer 8
window.innerWidth // undefined
Quel est le meilleur moyen d'obtenir cette valeur dans IE8?
Dans tous les navigateurs récents:
window.innerWidth // 1920
Dans Internet Explorer 8
window.innerWidth // undefined
Quel est le meilleur moyen d'obtenir cette valeur dans IE8?
Le innerWidth
est supporté par IE9 et non par IE8, vous pouvez le faire à l’instant:
var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
La ligne ci-dessus vous donnera la largeur d'IE ainsi que d'autres navigateurs conformes aux normes.
Si vous utilisez jQuery, $(window).innerWidth()
vous donnera également le résultat souhaité dans tous les navigateurs.
Pour cela, j'utilise encore:
window.innerWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
window.innerHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
Mais pour imiter le vrai dom-getter, jetez un oeil à ceci: http://stackoverflow.com/a/18136089/1250044
Je sais que les innerWidth
pourraient ne pas être tout à fait les mêmes, mais getBoundingClientRect
pourraient également être utilisés avec une capacité similaire:
elem = document.documentElement.getBoundingClientRect();
width = elem.getBoundingClientRect().right - elem.getBoundingClientRect().left;
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.