关于iframe的自适应问题

elephantx 2004-10-27 09:53:15
请问如何能使iframe的高度自动适应里面表格的高度。换句话说页面上只出现浏览器的滚动条,不出现iframe的滚动条。请高手指教,谢谢。
...全文
218 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jpphy 2005-01-20
  • 打赏
  • 举报
回复
调整高度和宽度的代码可以放在“a.htm”、“b.htm”或"iframe自适应测试.htm"页面内,本例选择了后一种方式(下列代码是文件"iframe自适应测试.htm",测试时需自己添加文件“a.htm”和“b.htm”,且要求“a.htm”、“b.htm”与"iframe自适应测试.htm"在同一 domain)。
<html>
<head>
<script>
// 实参为this,即形参obj为this,而obj 与 document.getElementById("ifrm")一致;
function fnAutoFit(obj)
{
try{
// ifrm为<iframe id=ifrm……></iframe>
var oBody = obj.contentWindow.document.body;
var oFrame = document.all(obj.id);
oFrame.style.height = oBody.scrollHeight + (oBody.offsetHeight - oBody.clientHeight);
oFrame.style.width = oBody.scrollWidth + (oBody.offsetWidth - oBody.clientWidth);
}
catch(e)
{
window.status = '错误: ' + e.number + '; ' + e.description;
}
}

function fn_change()
{
var oFrame = document.frames[0];
if(cN.value == "a")
{
cN.value = "b";
oFrame.document.location.href = "a.htm";
}
else
{
cN.value = "a";
oFrame.document.location.href = "b.htm";
}
}
</script>
</head>
<body>
<iframe id="ifrm" frameborder="1" src="a.htm" onload="fnAutoFit(this)"></iframe>
<input type="button" name="cN" value="b" onclick="fn_change()">
</body>
</html>
elephantx 2004-10-28
  • 打赏
  • 举报
回复
我这里无法修改iframe里面引入的页面,应该说是可能被引入的页面太多了这么改没有意义。
webmm(一笑而过)提到的方法是可行的,但是里面用了setInterval()方法(没有明白为什么要这么写),效率太低了,整个页面被拖的很慢(本来就不快,客户的意见是费了好大力气才摆平的)。所以请教还有没有更好的办法。
webmm 2004-10-27
  • 打赏
  • 举报
回复
这个问题刚刚看到篇东西~~~~自己没测试,看看成不?http://www.memosite.cn/article.php/580
梅雪香 2004-10-27
  • 打赏
  • 举报
回复
在iframe的body 的 onload事件 里写
parent.iframeid.width=table.width;
parent.iframeid.height=table.height;
没测试,你试试行不行
qiangsheng 2004-10-27
  • 打赏
  • 举报
回复
不用iframe,用层。
BeginnerBBB 2004-10-27
  • 打赏
  • 举报
回复
关注一下,前段时间碰到了,在iframe引用的页面中加
parent.document.all("iframe").style.height=document.body.scrollHeight;
sunnybay 2004-10-27
  • 打赏
  • 举报
回复
同意zhaoxiaoyang(梅雪香) 的答案
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-10-27 09:53
社区公告
暂无公告