【转】如何调整一个 IFrame 到其内容的大小不显示滚动条[微软帮助]

概要

在某些情况下, 您可能希望调整一个 IFrame 以便看到, 但没有滚动条都显示在网页上所有文档内容 本文介绍如何执行此。

 

更多信息

确定大小的 IFrame 的内容, 必须访问基础 IFrame 文档的高度和宽度属性。 因为只有脚本访问页面, 同一域中承载您只能访问属性以例如, (跨框架脚本) 同一域中承载页。 因此, 的 IFrame 源文档必须来自相同域与页包含 IFrame。

以下代码演示如何调整这样一个 IFrame。 创建新的 .htm 文档, 并粘贴以下 HTML 代码。 对于 IFrame, SRC 属性中必须提供来自相同域, IFrame 加载 HTML 页。

注意 : 如果有绝对定位元素, IFrame 中都驻留该技术可能无法正常运行。

 

<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>

本示例使用 尝试 和 catch 来检查域一致性, 它只可与 Internet Explorer 5 或更高版本。 检查此错误是为了举例, 没有绝对必要 ; 它只允许脚本以正常失败。

Microsoft 提供编程示例仅, 用于说明目的不附带任何明示或暗示, 包括但不限于, 暗示保证了适销性和/或用于特定目的适用性,。 本文假设您是熟悉正在演示编程语言和工具用于创建和调试过程。 Microsoft 支持专家可以帮助解释了某个特定过程, 功能但是它们不会修改这些示例以提供添加功能或构建过程以满足您特定需要。

 

 

posted @ 2008-08-19 19:40  leic2000  阅读(607)  评论(0编辑  收藏  举报