59 votes

Comment puis-je obtenir innerWidth dans Internet Explorer 8

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?

113voto

Sarfraz Points 168484

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.

5voto

yckart Points 7517

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

4voto

nicolas Points 51

pour utilisation ie8

 document.documentElement.clientWidth
 

4voto

Kyle Falconer Points 1582

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;
 

2voto

Jon Points 194296

Vous pouvez obtenir cette information à partir de IE 8 avec

 document.documentElement.clientWidth
 

Sachez que cette valeur ne sera pas exactement la même que celle renvoyée par IE 9 pour window.innerWidth .

Prograide.com

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.

Powered by:

X