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.
para el uso ie8
document.documentElement.clientWidth
document.documentElement.clientWidth;
esto se usa para ie8 para obtener el ancho del cliente