2011-03-22 60 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);