iframe高度调整
时间:2007-07-09 来源:shiwudao
关于iframe高度调整的方法,网上有很多。不过大多数都是在iframe onload 中加载。对于iframe加载之后,其中的页面高度再有动态变化的涉及不多,写了下面的代码在IE,mozilla, FF下通过。可以放在onload中加载,也可以在每次高度变化时手动调用。
不过好像对mozilla的某个低版本(具体版本忘了)有问题。
var GLOB_CONST_extraHeight_IE = 4; //using default value 4 of IE
var GLOB_CONST_extraHeight_NOIE = 16 ; //using default value 16 of FF
function autosize() {
try {
var iframe = parent.document.getElementsByTagName('iframe');
var len = iframe.length;
if (len <= 0) {
return;
}
var i;
if (iframe[0].contentDocument) { //for mozilla, firefox
for (i = 0; i < len; i ++) {
if (iframe[i].contentDocument == document) {
iframe[i].style.height=document.body.offsetHeight +
GLOB_CONST_extraHeight_NOIE;
return;
}
}
}
else { // for IE
iframe = parent.document.frames;
len = iframe.length;
if (len <= 0) {
return;
}
for (i = 0; i < len; i ++) {
if (iframe[i].document == document) {
iframe[i].frameElement.style.height=document.body.scrollHeight + GLOB_CONST_extraHeight_IE;
return;
}
}
} }catch(err) {
alert(err.message);
} }
var GLOB_CONST_extraHeight_NOIE = 16 ; //using default value 16 of FF
function autosize() {
try {
var iframe = parent.document.getElementsByTagName('iframe');
var len = iframe.length;
if (len <= 0) {
return;
}
var i;
if (iframe[0].contentDocument) { //for mozilla, firefox
for (i = 0; i < len; i ++) {
if (iframe[i].contentDocument == document) {
iframe[i].style.height=document.body.offsetHeight +
GLOB_CONST_extraHeight_NOIE;
return;
}
}
}
else { // for IE
iframe = parent.document.frames;
len = iframe.length;
if (len <= 0) {
return;
}
for (i = 0; i < len; i ++) {
if (iframe[i].document == document) {
iframe[i].frameElement.style.height=document.body.scrollHeight + GLOB_CONST_extraHeight_IE;
return;
}
}
} }catch(err) {
alert(err.message);
} }
相关阅读 更多 +