手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

用javascript 自动调节iframe高度出现问题

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

我一个页面需要嵌入10个iframe,希望每个显示的数据不超过10条,超过就出现滚动条。没有数据则只显示表头。最开始用JSP去统计每个iframe需要显示数据的总数,然后计算,超过10条。ifram的高度就制定为一固定制,反之,取数据条数乘上每条的高度。这样做可以实现功能,但是速度比较慢。

于是就想用JavaScript去自动调节ifram的高度,函数如下:

var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
//extra height in px to add to iframe in FireFox 1.0 browsers
var FFextraHeight=getFFVersion>=0.1? 16 : 0

function isiFrameLoadComplete(iframename){
var pTar = document.getElementById(iframename);

if(pTar.readyState=="complete"){
return true;
}else{
return false;
}

}

function dsed_resize(iframename) {
var pTar = null;
if (document.getElementById){
pTar = document.getElementById(iframename);
}
else{
eval('pTar = ' iframename ';');
}
pTar.height = 25;

if (pTar && !window.opera){

pTar.style.display="block"

if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight){
//ns6 syntax
pTar.height = pTar.contentDocument.body.offsetHeight FFextraHeight;
if(pTar.height<=25){
pTar.height = 25;
}else if(pTar.height>=210){
pTar.height = 210;
}

}
else if (pTar.Document && pTar.Document.body.scrollHeight){
//ie5 syntax
pTar.height = pTar.Document.body.scrollHeight;

if(pTar.height<=25){
pTar.height = 25;
}else if(pTar.height>=210){
pTar.height = 210;
}

}
}

}

但是现在又遇到一个问题,第一次打开页面的时候,可能有一个iframe不能正常显示,刷新一下又可以了。我以为iframe的个数太多了,所以导致这样,然后特地为每个iframe写个Javascript函数,结果还是一样。真是没招了!

上一篇: Java 作业--试验一 金额的中文大写方式
下一篇: 各种排序算法java实现

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!