我有一个iFrame显示从单独服务中提取的内容。但是,内容有一个按钮,可以通过AJAX水平加载更多内容,并将内容的高度向下推,从而导致滚动条。
有没有办法让iFrame响应此更改,并在用户加载更多内容时增加其高度?
答案 0 :(得分:0)
看起来这篇微软文章可能有你的答案: http://support.microsoft.com/kb/278469
<HTML>
<HEAD>
<SCRIPT LANGUAGE=javascript>
<!--
function reSize()
{
try{
var oBody = ifrm.document.body;
var oFrame = document.all("ifrm");
oFrame.style.height = oBody.scrollHeight + (oBody.offsetHeight - oBody.clientHeight);
oFrame.style.width = oBody.scrollWidth + (oBody.offsetWidth - oBody.clientWidth);
}
//An error is raised if the IFrame domain != its container's domain
catch(e)
{
window.status = 'Error: ' + e.number + '; ' + e.description;
}
}
//-->
</SCRIPT>
</HEAD>
<BODY onload=reSize()>
<iframe onresize=reSize() id=ifrm src=YOUR_PAGE_HERE></iframe>
</BODY>
</HTML>
基本上,点按子文档的resize事件,然后相应地调整iframe的大小。