iframe自适用高度问题 ff下

沧海小鱼 2008-09-11 04:22:58
这是我的js代码


function reinitIframe(){
var iframe = document.getElementById("hj");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
}catch (ex){}
}
window.setInterval("reinitIframe()", 200);


调用
<iframe src="xx.asp?Pid=<%=xx%>" width="652" frameborder="0" id="hj" name="hj" class="iframeClass" scrolling="no" marginheight="0" marginwidth="0" align="top"> </iframe>

在ie下一切正常 xx.asp?Pid=<%=xx%>的内容变换都可以自动调整高度

但在ff下却做不到 不能清除上一次xx.asp的高度 所以不能自适应

怎么样修改呢 小弟js一知半解 呵呵
...全文
238 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
汗!!
cbluehehe 2008-09-11
  • 打赏
  • 举报
回复
我知道什么原因了 样式出问题了!!!
沧海小鱼 2008-09-11
  • 打赏
  • 举报
回复
找到了
<script language="Javascript">
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 dyniframesize(iframename) {
var pTar = null;
if (document.getElementById){
pTar = document.getElementById(iframename);
}
else{
eval('pTar = ' + iframename + ';');
}
if (pTar && !window.opera){
//begin resizing iframe
pTar.style.display="block"

if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight){
//ns6 syntax
pTar.height = pTar.contentDocument.body.offsetHeight+FFextraHeight;
}
else if (pTar.Document && pTar.Document.body.scrollHeight){
//ie5+ syntax
pTar.height = pTar.Document.body.scrollHeight;
}
}
}
</script>

然后对于主页面用到iframe的地方添加代码:

<iframe id="myTestFrameID"
onload="javascript:{dyniframesize('myTestFrameID');}"
marginwidth=0 marginheight=0 frameborder=0
scrolling=no src="/myiframesrc.php"
width=200 height=100></iframe>




沧海小鱼 2008-09-11
  • 打赏
  • 举报
回复
<script src="js/pro.js"></script>


pro.js 就是上面的内容
cbluehehe 2008-09-11
  • 打赏
  • 举报
回复
你这段代码
function reinitIframe(){
var iframe = document.getElementById("hj");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
}catch (ex){}
}
window.setInterval("reinitIframe()", 200);

是放哪?
沧海小鱼 2008-09-11
  • 打赏
  • 举报
回复
ie下一切正常
沧海小鱼 2008-09-11
  • 打赏
  • 举报
回复
onload="this.style.height=frames.myfr.document.documentElement.scrollHeight+'px'"

这个加进去也没用啊

ff下
cbluehehe 2008-09-11
  • 打赏
  • 举报
回复
你的IE7下能运行吗?
cbluehehe 2008-09-11
  • 打赏
  • 举报
回复
你也在为这个问题烦恼吗》
cgisir 2008-09-11
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<iframe name="myfr" onload="this.style.height=frames.myfr.document.documentElement.scrollHeight+'px'" ...></iframe>
</body>

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧