`

iframe高度自动适应

    博客分类:
  • web
阅读更多

在Web开发过程中,为了提高页面架构层次的清晰性和灵活性,应对复杂的页面布局,使用嵌入式框架iframe可能是最有效的解决办法。如果布局比较复杂或页面层次较多,则可能会用到嵌套多层的iframe,然而iframe并不会根据页面高度自动调整自身高度,为了屏蔽滚动条提高视觉效果,就需要使用javascript代码使iframe自动调整高度。

1、单层情况,假设在A.aspx页面的某个位置嵌入页面B.aspx,则在A页面中需使用一个嵌入框架iframeA,其示例代码如下:

...
<head>
...
<script type="text/javascript">
//iframeName:框架ID
function SetIframeSize(iframeName)
...{
var iframe = document.getElementById(iframeName);
try
...{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
//据说这两个高度可能不一样
var height = Math.max(bHeight, dHeight);
iframe.height
=height;
}
catch (ex)...{}
}

</script>
</head>
<body>
...
<tr>
<td>
<iframe id="iframeA" name="iframeA" scrolling="no" frameborder="0" src="B.aspx" width="100%"

onload
="SetIframeSize('iframeA');"></iframe>
</td>
<tr>
...
</body>
...

2、嵌套两层情况,假设A.aspx页面通过嵌入式框架iframeA嵌入页面B.aspx,页面B.aspx又通过嵌入式框架iframeB嵌入页面C.aspx,其中A.aspx示例代码和单层情况一样,B.aspx页面的示例代码如下:

...
<head>
...
<script type="text/javascript">
//iParentFrameName:父框架ID
//iframeName:框架ID
function SetIframeSize(iParentFrameName,iframeName)
...{
var iframe = document.getElementById(iframeName);
try
...{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
//据说这两个高度可能不一样
var height = Math.max(bHeight, dHeight);
iframe.height
=height;
//更新父框架高度
SetIframeSize2(iParentFrameName)
}
catch (ex)...{}
}


//iframeName:框架ID
function SetIframeSize2(iframeName)
...{
var iframe = window.parent.parent.document.getElementById(iframeName);
try
...{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height
=height;
}
catch (ex)...{}
}

</script>
</head>
<body>
...
<tr>
<td>
<iframe id="iframeB" name="iframeB" scrolling="no" frameborder="0" src="C.aspx" width="100%"

onload
="SetIframeSize('iframeA','iframeB');"></iframe>
</td>
<tr>
...
</body>
...

其中代码
var iframe = window.parent.parent.document.getElementById(iframeName);
window指C.aspx,window.parent指B.aspx,window.parent.parent指A.aspx
事实上如果没有特别需要(比如B.aspx页面条件加载C.aspx页面)下,A.aspx中iframeA可以不要onload事件。

3、嵌套多层情况
多层嵌层以两层情况为例类推,同上没有特别需要,只设最后一级iframe的onload事件。

分享到:
评论

相关推荐

    iframe 跨域 自动适应高度

    本文将详细讲解如何解决`iframe`跨域问题以及实现自动适应高度的功能。 1. **同源策略与iframe跨域** 同源策略是浏览器安全的一项基础机制,它限制了来自不同源的"文档"或脚本相互交互。当一个`iframe`加载的页面...

    iframe自动适应高度(完美自适应高度嵌套代码),兼容目前主流浏览器。

    然而,`iframe`的高度自动适应往往成为开发者面临的问题,特别是当嵌入的内容高度不确定时。标题提到的“iframe自动适应高度(完美自适应高度嵌套代码)”提供了一个解决方案,它能够确保`iframe`在各种主流浏览器...

    iFrame 自动调整高度

    iFrame 自动调整高度 绝对有效! 分可能是高咯滴滴儿....不过一分钱一分货哈,没效果你骂我、使劲骂!

    iframe自动适应高度

    当`iframe`中的内容高度不确定时,我们希望`iframe`能自动调整其高度以完全显示内部内容,避免出现滚动条或者内容被截断的情况。以下是一些实现`iframe`高度自适应的方法: 1. **JavaScript解决方案**: - **...

    iframe内容高度 iframe自适应高度终极解决Iframe设置高度后无法缩小问题

    Iframe自动根据类容改变自己的大小,解决Iframe设置高度后无法缩小!拜一个高人所赐,特表示感谢!

    js实现iframe自适应高度

    然而,这些静态属性无法自动调整以适应内容的变化。 接下来,我们可以利用JavaScript的DOM操作和事件监听来实现自适应高度的功能。以下是一个基本的实现步骤: 1. **获取`iframe`元素**:通过`document....

    Iframe 高度自适应,js控制Iframe 高度自适应.docx

    js 控制 Iframe 高度自适应是指使用 JavaScript 语言来控制 iframe 的高度,使其能够自动调整以适应内容的高度。 在 iframe 高度自适应中,需要考虑多种浏览器的兼容性问题,包括 Firefox、IE、Opera 等不同的...

    iframe高度自适应.pdf

    iframe高度自适应.pdf

    自动改变iframe的高度

    iframe自动改变高度 朝好用的一个框架 我就在用

    iframe自动适应 高度 宽度

    在用js动态创建时,iframe 很难自动适应高度宽度,写100%也没有,推出此方法可以解决这方面难题

    自动调节iframe高度,而不显示其滚动条 js

    js脚本: 自动调节iframe高度,而不显示其滚动条

    跨域控制iframe高度

    这在需要动态调整iframe高度以适应内容时会带来挑战。本文将深入探讨如何实现跨域控制iframe的高度,以优化用户体验。 首先,我们需要理解同源策略。同源策略是浏览器为了保障安全而实施的一项规定,它只允许...

    Iframe 高度自适应浏览器高度

    这种技术常被用来实现...以上就是关于“Iframe高度自适应浏览器高度”的主要知识点,实践中可能需要结合具体场景和需求选择合适的方法。在实际应用中,还要考虑到兼容性问题,确保在不同浏览器和设备上都能正常工作。

    iframe高度随子页高度变化

    标题"iframe高度随子页高度变化"和描述中提到的问题,正是关注于这个动态调整`iframe`高度的技术。 要实现`iframe`高度随子页高度变化,主要涉及以下几个关键点: 1. **设置iframe的初始高度**:首先,我们需要为`...

    Iframe框架自动适应高度示例详解.pdf

    Iframe框架自动适应高度示例详解.pdf

    jquery对iframe自适应高度插件

    这样,`iframe`就能自动适应其内容的高度,提供更好的用户体验。 总之,“jquery对iframe自适应高度插件”是解决`iframe`高度自适应问题的一个强大工具,它的易用性和效率使得它成为开发者处理`iframe`高度问题的...

    iframe根据页面内容自适应高度和宽度

    为了解决这个问题,我们需要让`iframe`根据其内容自动调整高度和宽度。本篇文章将详细探讨如何实现`iframe`根据页面内容自适应高度和宽度。 首先,我们需要理解`iframe`的基本结构。一个简单的`iframe`标签如下: ...

    iframe自适应宽高

    这个库允许的高度与同跨域iframe来适应他们所包含的内容的宽度自动调整大小。它最常见的问题与使用iframes提供一系列的功能,其中包括: 高度和宽度大小的iframe内容大小。 作品以多个嵌套的iframe。 跨域iframe域...

    iframe多层级自动适应高度

    总的来说,`iframe`多层级自动适应高度是一个常见的前端问题,通过JavaScript的`postMessage`和事件监听,我们可以实现动态的高度调整,确保用户能完整地查看所有内容。同时,为了提高用户体验,还应考虑优化加载...

    JAVASCRIPT让IFRAME框架的高度自适应

    通过使用JavaScript来让IFRAME框架的高度自适应,我们可以实现IFRAME框架的高度自动调整,以提高用户体验。同时,我们也可以使用这个方法来实现其他类型的高度自动调整,以满足不同的需求。 在实际应用中,我们可以...

Global site tag (gtag.js) - Google Analytics