Iframe自适应问题~~~愁白了头
最近我在网上调查过很多的帖子,可是就是没有答案~~谁会能解决?我把这100分全给你~急。。。
目的:想在iframe中显示别的域的网页,并且取得别的域的csrollheight值
解决办法:通过JS取得
代码:<html>
<head>
<script language="JavaScript">
var iframeids=["testframe","testframe1"];
function dyniframesize()
{
var dyniframe=new Array();
for (i=0; i<iframeids.length; i++)
{
if (document.getElementById)
{
//自动调整iframe高度
dyniframe[dyniframe.length] = document.getElementById(iframeids[i]);
if (dyniframe[i] && !window.opera)
{
if (dyniframe[i].contentDocument && dyniframe[i].contentDocument.body.offsetHeight) //NetScape
dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight;
else if (dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight) //IE
dyniframe[i].height = dyniframe[i].Document.body.scrollHeight;
}
}
}
}
if (window.addEventListener)
window.addEventListener("load", dyniframesize, false)
else if (window.attachEvent)
window.attachEvent("onload", dyniframesize)
else
window.onload=dyniframesize
</script>
</head>
<body>
<form>
<iframe id="testframe" name="left" src="http://www.baidu.com"></iframe>
<iframe id="testframe1" name="right" src="WebForm3.aspx"></iframe>
</form>
</body>
</html>
问题点:当Iframe的src为“WebForm3.aspx”时,能够取到“WebForm3.aspx”的页面的
scrollheight值,原因是这个页面和现在的页面在同一个域内。
但是当Iframe的src为“http://www.baidu.com”时,提示我“拒绝访问”,抱错了。
其中里面关键的一句话就是“dyniframe[i].Document.body.scrollHeight”这句话。
我也找了些原因,好像是说“不能跨域”,不知道大家有没有遇到过这种问题。
但是我程序必须要得到Iframe的目标页面的scrollheight的值,请问各位有没有方法
可以实现跨域访问,或者别的方法也可以。
谁能解决我把这100分全部给大家,我还是新手,但是上司非让这么实现,我也是
没有办法。
以前我用相同的语句,在php里面实现了,没有这种提示,但是在.NET里面就出现了
这种跨域权限的问题,我也很郁闷。