如何让iframe的大小和它所装载的页面里一个表的大小完全一致?

minlove99 2004-10-27 02:46:58
在iframe里装载里一个页面,页面里只有动态生成的表对象,由于表的大小是不固定的,所以有时候不能完全显示表中内容或者完全显示了,但空出一大片空白,如何让iframe和这个表的大小完全一致呢?请各位帮忙了
...全文
197 19 打赏 收藏 举报
写回复
19 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
minlove99 2004-10-28
  • 打赏
  • 举报
回复
这是我的代码:
<div align="left" id="tongjiLayer" nowrap style="overflow:hidden;display:none;position:absolute; width:250; height:500px; z-index:202;top:63;right:42">
<iframe name="tongjiFrame" width="100%" height="100%" src="tongjiresult.asp" frameborder=0 marginheight=0 marginwidth=0 hspace=0 vspace=0 scrolling=no >
</iframe>
</div>

tongjiresult.asp
<body>
<table id="tongjitable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#D6DDF7" style="BORDER-LEFT: #A2B3CF 2px solid;BORDER-RIGHT: #A2B3CF 2px solid;BORDER-TOP: #A2B3CF 2px solid" > </td>
</tr>
<tr>
<td bgcolor="#D6DDF7" style="BORDER-LEFT: #A2B3CF 2px solid;BORDER-RIGHT: #A2B3CF 2px solid;BORDER-BOTTOM: #A2B3CF 2px solid" id="tongjitd"> </td>
</tr>
</table>
</body>

其中tongjitd里的内容为动态生成,生成代码如下:
function viewtongji()
{
var htmlstr="";
htmlstr="<table id='resulttable' style='width:100%;height:100%'><tr><td style='BORDER-BOTTOM: #A2B3CF 2px solid;' valign='top' align='center' >"+obj+"</td></tr>"; htmlstr+="<tr><td><table id='resulttable' style='width:100%;height:100%'>";
cellcount=oRoot.children.item(0).text.split(",").length;
for(var i=0;i<oRoot.children.length;i++)
{
var linestr=oRoot.children.item(i).text.split(","); htmlstr+="<tr>";
for(var j=0;j<linestr.length-1;j++)
{
var valuestr=linestr[j];
if(valuestr.indexOf(".")>0) valuestr=valuestr.split(".")[0]; if(valuestr.indexOf("_")>0)
{ valuestr1=valuestr.split("_"); htmlstr+="<td style='cursor:hand;height:25;width:100'><font size='2' face='黑体'>"+valuestr1[0]+"("+valuestr1[1]+")</font></td>"; }
else
htmlstr+="<td style='cursor:hand;height:25;width:100'><font size='2' face='黑体'>"+valuestr.toString()+"</font></td>";
}
htmlstr+="</tr>";
}
document.frames.tongjiFrame.document.all.tongjitd.innerHTML=htmlstr+"</table></td></tr></table>";
///在这里填写tongjiframe和其装载的页面大小的自适应代码
seabell 2004-10-27
  • 打赏
  • 举报
回复
<iframe id="mymain" src="frame.htm">
</iframe>

frame.htm
<body topmargin=0 bottommargin=0 leftmargin=0 rightmargin=0>
<table width=600 id=mytable style="background:yellow">
<tr><td>12</td></tr>
<tr><td>12</td></tr>
<tr><td>13</td></tr>
<tr><td>14</td></tr>
<tr><td>15</td></tr>
<tr><td>16</td></tr>
<tr><td>17</td></tr>
<tr><td>18</td></tr>
<tr><td>16</td></tr>
<tr><td>19</td></tr>
<tr><td>20</td></tr>
<tr><td>end</td></tr>
</table>
<script>
parent.document.all.mymain.style.width=document.all.mytable.clientWidth+5;
parent.document.all.mymain.style.height=document.all.mytable.clientHeight+5;
</script>
fason 2004-10-27
  • 打赏
  • 举报
回复
<iframe src="a.html" id="f" name="f" scrolling="no" frameborder=0 marginwidth=0 marginheight=0></iframe>
<script>
var doc=window.frames["f"].document;
function s(){
if (doc.readyState=="complete"){
document.all.f.style.height=doc.body.scrollHeight
document.all.f.style.width=doc.body.scrollWidth
}
}
doc.onreadystatechange=s
</script>
ttyp 2004-10-27
  • 打赏
  • 举报
回复
不行把你的代码贴出来,光说不行解决不了问题的
minlove99 2004-10-27
  • 打赏
  • 举报
回复
都试过了,还是不行,不过很感谢大家,希望继续关注
ttyp 2004-10-27
  • 打赏
  • 举报
回复
main是iframe的名字
张佩 2004-10-27
  • 打赏
  • 举报
回复
楼上:main是什么?
张佩 2004-10-27
  • 打赏
  • 举报
回复
这样也可以(我试过了):
<iframe name="main1" width="400" height="400">
</iframe>

<script language="javaScript">
main1.document.write('<div style="position:absolute; left:10; top: 10">');
main1.document.write('<table width=90% height=90%>');
main1.document.write('<tr><td>3</td>');
main1.document.write('</tr> </table> </div>');
</script>
ttyp 2004-10-27
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script language="JavaScript">
<!--
function resize()
{
parent.main.resizeTo(document.all.table.width,document.all.table.height);
}
//-->
</script>
</head>

<body onload="resize()" topmargin=0 leftmargin=0 rightmargin=0 >
<table width="500" height="400" id ="table" border=1>
<tr>
<td>234</td>
<td>3434</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>

//这个可以了,呵呵
张佩 2004-10-27
  • 打赏
  • 举报
回复
我想,她是要这样的:
<iframe id="main" width="400" height="400" src="1.htm">
</iframe>

1.htm:
<div style="position:absolute; left:10; top: 10">
<table width=90% height=90%>
<tr><td>3</td>
</tr>
</table>
</div>
ttyp 2004-10-27
  • 打赏
  • 举报
回复
居然不行!楼上的方法试了好多次,好像frame的宽不能外部改
多菜鸟 2004-10-27
  • 打赏
  • 举报
回复
<table height="100%" border =1 width="100%">
<tr>
<td width="30%">1</td>
<td id="tdname"><iframe id="main" width="100%" height="100%"></iframe></td>
</tr>
</table>
<script>
window.onload= function(){
var d = document.all;
d.main.width = d.tdname.width;
d.main.height = d.tdname.height;
}
</script>
没有测试过,不知道行不行。
weilf 2004-10-27
  • 打赏
  • 举报
回复
这个只能是出现一个自动的滚动条吧?不能真正调整的!
minlove99 2004-10-27
  • 打赏
  • 举报
回复
这样不行的,不是和iframe所在的页面的表格相同,而是和iframe里装载的一个页面的表的大小吻合
weilf 2004-10-27
  • 打赏
  • 举报
回复
楼上的方法确定可行???我试过好象不行!
张佩 2004-10-27
  • 打赏
  • 举报
回复
正点!
height="100%" width="100%"
DARKNESSFALL 2004-10-27
  • 打赏
  • 举报
回复
楼上的方法可行
ttyp 2004-10-27
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>

<table height="100%" border =1 width="100%">
<tr>
<td width="30%">1</td>
<td ><iframe id="main" width="100%" height="100%"></iframe></td>
</tr>
</table>

</body>
</html>

//这样么?
zhuier 2004-10-27
  • 打赏
  • 举报
回复
帮你顶
相关推荐
发帖
JavaScript

8.7w+

社区成员

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