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都可以完美解决