如何获得文件的高度和宽度,而不使用jQuery

如何获得文档的高度和宽度纯JavaScript的,即不使用jQuery。 我知道$(document).height()和$(document).width(),但我想在JavaScript中做到这一点。

我的意思是页面的高度和宽度。

var height = document.body.clientHeight; var width = document.body.clientWidth; 

检查: 这篇文章更好的解释。

甚至在http://www.howtocreate.co.uk/tutorials/javascript/browserwindow上给出的最后一个示例在Quirks模式下也不起作用。; 比我想象的更容易find,这似乎是解决scheme(从最新的jQuery代码中提取):

 Math.max( document.documentElement["clientWidth"], document.body["scrollWidth"], document.documentElement["scrollWidth"], document.body["offsetWidth"], document.documentElement["offsetWidth"] ); 

只需将宽度replace为“高度”即可获得高度。

您应该使用getBoundingClientRect因为它通常可以跨浏览器使用,并为边界矩形提供子像素精度

 elem.getBoundingClientRect() 

这是一个跨浏览器的解决scheme:

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

你也可以尝试:

 document.body.offsetHeight document.body.offsetWidth 

这应该适用于所有浏览器/设备:

 function getActualWidth() { var actualWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || document.body.offsetWidth; return actualWidth; } 

获取没有jQuery的文档大小

 document.documentElement.clientWidth document.documentElement.clientHeight 

如果你需要屏幕尺寸,使用这个

 screen.width screen.height 

如果要获取页面的全部宽度(包括溢出),请使用document.body.scrollWidth