with outerwidth current check calculate javascript

outerwidth - window screen javascript



Cómo obtengo innerWidth en Internet Explorer 8 (8)

En todos los navegadores recientes:

window.innerWidth // 1920

En Internet Explorer 8

window.innerWidth // undefined

¿Cuál es la mejor manera de obtener este valor en IE8?


El innerWidth es compatible con IE9 y no con IE8, puede hacer esto insteaad:

var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;

La línea anterior le proporcionará el ancho de IE así como de otros navegadores compatibles con el estándar.

Si usa jQuery, $(window).innerWidth() le dará el resultado deseado en todos los navegadores también.


Para obtener esto, todavía uso:

window.innerWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; window.innerHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;

Pero para imitar al verdadero dom-getter mira esto: https://.com/a/18136089/1250044


Puede obtener esta información de IE 8 con

document.documentElement.clientWidth

Tenga en cuenta que este valor no será exactamente el mismo que IE 9 devuelve para window.innerWidth .


Sé que el innerWidth podría no ser el mismo, pero getBoundingClientRect también podría usarse con una capacidad similar:

elem = document.documentElement.getBoundingClientRect(); width = elem.getBoundingClientRect().right - elem.getBoundingClientRect().left;


Sin jQuery puedes intentar esto para obtener la height y el width

var myWidth = 0, myHeight = 0; if (typeof (window.innerWidth) == ''number'') { //Chrome myWidth = window.innerWidth; myHeight = window.innerHeight; } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { //IE9 myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; }


Tenga en cuenta: el método .innerWidth no se aplica a los objetos de ventana y documento; para estos, use .width () en su lugar.

api.jquery.com/innerWidth


para el uso ie8

document.documentElement.clientWidth


document.documentElement.clientWidth;

esto se usa para ie8 para obtener el ancho del cliente