又一个iframe高度问题

alexerhot 2004-04-13 04:32:48
请教:
问题是,在页面中有一个IFRAME,现在要求IFRAME的高度根据IFRAME内容高度变化。
用以下语句:
<iframe src="xxx.asp" frameborder="0" scrolling="auto" width="545" vspace="3" name="if1" style="height:expression(if1.document.body.scrollHeight)"></iframe>
可以实现IFRAME高度根据xxx.asp调整,但是如果xxx.asp不是本域的话,javascript会出现拒绝访问的错误,请教各位,这个该如何解决。
比如:
<iframe src="http://www.xxx.com/xxx.asp" frameborder="0" scrolling="auto" width="545" vspace="3" name="if1" style="height:expression(if1.document.body.scrollHeight)"></iframe>
...全文
54 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwater 2004-04-19
up
回复
king2003 2004-04-19
哟不好意思发错了,我没试过不知上面的能不能夸域访问,大家试一试吧
回复
king2003 2004-04-19
怎么总是有人问这个问题呀!想要得到答案的话来这个网站看看吧
www.chemall.com.cn/chemleader
回复
ChinaLights 2004-04-19
楼主的代码我也试过了,不能跨域访问。
回复
QQgenie 2004-04-14
已试过:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>测试</title>
</head>
<script>
function autoResize()
{
try
{
document.all["test"].style.height=test.document.body.scrollHeight
}
catch(e){}
}
</script>
<body leftmargin="0" topmargin="0" >
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td>
<iframe frameBorder=0 name=tree scrolling=no src="rnd.asp" style="height:168;width:100%;z-index:2"></iframe>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" height="100%">
<tr >
<td width="288">

<iframe frameBorder=0 name=tree scrolling=no src="../left.asp" style="height:100%;width:288;z-index:2"></iframe>
</td>
<td style="width:100%;">这个会自己调整

<iframe frameBorder=0 id=test style="height:expression(1); aho:expression(autoResize()); width:100%;" src="seahtml.htm" ></iframe>

</td>
</tr>
</table>
</html>
回复
alexerhot 2004-04-13
首先感谢net_lover(孟子E章), ygghost(刘华强)回帖
net_lover(孟子E章)提供的方法也尝试过,
同样因为跨域的原因发生拒绝访问的错误。
如果xxx.asp与含有IFRAM的页面在同一域下,是可以实现的。但是现在的问题是含有IFRAM的页面与xxx.asp不在同一域内,比方说:
http://www.1.com/a.asp内有一个IFRAME,IFRAME的SRC=“http://www.2.com/b.asp”,
因为b.asp的页面高度事先是不知道的,(不考虑宽度),所以考虑让a.asp内的IFRAME高度根据b.asp的页面高度自动调整,如果a.asp和b.asp都在http://www.1.com或者都在http://www.2.com下都可以实现,但是现在两个文件是在不同的域下。试到现在不管是在a.asp里取得b.asp的body高度还是在b.asp里设置a.asp的iframe的高度,都会发生拒绝访问的错误(也面的可以显示的,是JS报错。)
回复
ygghost 2004-04-13
<iframe src="xxx.asp" frameborder="0" scrolling="auto" width="545" vspace="3" name="if1" style="height:expression(if1.document.body.scrollHeight)"></iframe>
--

这样也没有办法“IFRAME的高度根据IFRAME内容高度变化”吧!

只有指定一个height值,在这个值之内,就没有scrolling,否则有scrolling是不可避免的。

除非你的整个页面全都是这一个iframe
回复
孟子E章 2004-04-13
在xxx.asp里写:
<body onload="parent.document.all.iframeID.style.height=document.body.scrollHeight">
回复
alexerhot 2004-04-13
没有朋友知道吗?急啊。
回复
alexerhot 2004-04-13
555~~~~~ 没人回答吗?掉下去了,我顶一下
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告