iframe && 网页底部 动态设置高度

最近碰到的两个问题
查资料时对DOM和对象有了新的认识
贴一下代码方便以后再利用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//iframe动态设置高度
//x,y,z是微调指数,说实话每个浏览器的高度就是差那么一点,不知道怎么解决,只好每个都定义一下
function reHeight() {
var domHeight=window.frames["mainFrame"].document.body.offsetHeight;
var obj=document.getElementById("mainFrame");
if (navigator.userAgent.indexOf("MSIE")>0){
obj.height=domHeight+x;
}else if (navigator.userAgent.indexOf("Firefox")>0){
obj.height=domHeight+y;
}else if (navigator.userAgent.indexOf("Chrome") > 0){
obj.height=domHeight+z;
}else{
obj.height=domHeight;
}

常用的获得iframe的方式一般有两种

1
2
var obj = document.getElementById(“iframe”);//获取对象  
var dom = window.frames[“iframe”];//获取DOM

要得到iframe里面的高度,方法很多
但经我测试,兼容各浏览器的只能用获取DOM的方法(准确的说应该是兼容IE)

下面这个是网站foot
动态站因为内容是动态生成的,所以事先不知道内容够不够一页
foot的position就不能定死为absolute或relative
只能用js动态判断和改变
以下是js

1
2
3
4
5
if (document.documentElement.clientHeight >= document.documentElement.scrollHeight-4) {
document.getElementById("foot").style.position="absolute";
} else {
document.getElementById("foot").style.position="relative";
}