js获取网页高度

关于js获取网页高度的问题,已经有甚多详尽的文章讨论过了。在此记录一个我用的办法,可以很好的应多五大主流浏览器。

首先offsetHeight、clientHeight、scrollHeight三者关系每个浏览器不同,就不详述了。

本来是可以解决这个问题的,但是Chrome和Safari就是不肯和其他三个看齐。(注:本人系统为2003server所以Chrome使用的是360安全浏览器6.1,内核同Chrome。)

我采用的办法是找出浏览器所有控件中最长的一个,计算得实际的网页长度。

1 var hh=(scrollHeight > clientHeight) ? scrollHeight: clientHeight;
2 var Eles=document.body.getElementsByTagName("*");
3 for(i=0;i<Eles.length;i++)
4     hh=Math.max(Eles[i].offsetHeight+Eles[i].offsetTop,hh);

经测试,在FF21.0、IE8.0、Safari5.1.7、360安全浏览器6.1(代表Chrome)、Opera12.15都可以完美解决

posted @ 2013-05-23 17:07  Sun_rain_ice  阅读(136)  评论(0编辑  收藏  举报