2011-03-22 16 views
0

我试图找到正确的Javascript代码来捕获网页上所有内容的高度。Javascript:如何捕捉网站内容的高度?

我看过document.height,window.screen.height,document.body.offsetHeight,bodyScroll,clientArea.style.height,bodyHeight和document.documentElement.clientHeight。

我使用FireBug来测试这些值,但所有的(window.screen.height除外)似乎随着我调整窗口大小而改变,所以它们并不实际报告内容的实际高度。

现在,即使我切换到不同大小的页面,window.screen.height也不会改变。

如何确定内容的总高度?基本上我需要知道滚动条知道什么。 Th滚动条知道每页滚动多少以及滚动多少以达到内容的结尾。

任何帮助将不胜感激。

+0

使用一个类似jQuery或YUI的库。否则,在你自己的函数中复制那里的代码,但要准备好,因为它是一个巨大的混乱。 'YAHOO.util.Dom.getDocumentHeight()' – 2011-03-22 16:25:48

回答

1

试试这个:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" ></script> 
<script type="text/javascript"> 

$(document).ready(function(){ 

document_height = $(document).height(); 
document_width = $(document).width(); 
window_height = $(window).height(); 
window_width = $(window).width(); 

alert(document_height + ' x ' + document_width); 

alert(window_height + ' x ' + window_width); 
}); 

</script> 
+0

我修复了它,现在工作 – Faraona 2011-03-22 16:25:53

0

不同的browers以不同的方式报告窗口的文档的大小和尺寸。您可以使用库来解决跨浏览器的问题,这样的代码jQuery中:

$(document).height(); 

没有图书馆,我已经使用这个代码来获取尺寸:

var b, h, info; 
b = document.body; 
h = b.parentNode; 
if (window.opera) { 
    info = { winWidth: b.clientWidth, winHeight: b.clientHeight, pageWidth: h.clientWidth, pageHeight: h.clientHeight }; 
} else { 
    info = { winWidth: h.clientWidth, winHeight: h.clientHeight, pageWidth: b.clientWidth, pageHeight: b.clientHeight }; 
} 
0
var height = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);